diff --git a/metropolis/test/launch/cluster/cluster.go b/metropolis/test/launch/cluster/cluster.go
index 4cbfede..dfeb457 100644
--- a/metropolis/test/launch/cluster/cluster.go
+++ b/metropolis/test/launch/cluster/cluster.go
@@ -21,6 +21,7 @@
 	"os/exec"
 	"path"
 	"path/filepath"
+	"strconv"
 	"strings"
 	"syscall"
 	"time"
@@ -51,6 +52,12 @@
 	"source.monogon.dev/metropolis/test/launch"
 )
 
+const (
+	// nodeNumberKey is the key of the node label used to carry a node's numerical
+	// index in the test system.
+	nodeNumberKey string = "test-node-number"
+)
+
 // NodeOptions contains all options that can be passed to Launch()
 type NodeOptions struct {
 	// Name is a human-readable identifier to be used in debug output.
@@ -776,7 +783,7 @@
 					InitialClusterConfiguration: opts.InitialClusterConfiguration,
 					Labels: &cpb.NodeLabels{
 						Pairs: []*cpb.NodeLabels_Pair{
-							{Key: "test-node-id", Value: "0"},
+							{Key: nodeNumberKey, Value: "0"},
 						},
 					},
 				},
@@ -896,7 +903,9 @@
 		return nil, fmt.Errorf("could not write owner certificate: %w", err)
 	}
 
-	// Set up a partially initialized cluster instance, to be filled in in the
+	launch.Log("Cluster: Node %d is %s", 0, firstNode.ID)
+
+	// Set up a partially initialized cluster instance, to be filled in the
 	// later steps.
 	cluster := &Cluster{
 		Owner: *cert,
@@ -969,7 +978,7 @@
 						CaCertificate:    resI.CaCertificate,
 						Labels: &cpb.NodeLabels{
 							Pairs: []*cpb.NodeLabels_Pair{
-								{Key: "test-node-id", Value: fmt.Sprintf("%d", i)},
+								{Key: nodeNumberKey, Value: fmt.Sprintf("%d", i)},
 							},
 						},
 					},
@@ -997,7 +1006,10 @@
 		}
 	}
 
+	// Wait for nodes to appear as NEW, populate a map from node number (index into
+	// NodeOpts, etc.) to Metropolis Node ID.
 	seenNodes := make(map[string]bool)
+	nodeNumberToID := make(map[int]string)
 	launch.Log("Cluster: waiting for nodes to appear as NEW...")
 	for i := 1; i < opts.NumNodes; i++ {
 		for {
@@ -1018,7 +1030,13 @@
 					ID:     n.Id,
 					Pubkey: n.Pubkey,
 				}
-				cluster.NodeIDs = append(cluster.NodeIDs, n.Id)
+
+				num, err := strconv.Atoi(node.GetNodeLabel(n.Labels, nodeNumberKey))
+				if err != nil {
+					return nil, fmt.Errorf("node %s has undecodable number label: %w", n.Id, err)
+				}
+				launch.Log("Cluster: Node %d is %s", num, n.Id)
+				nodeNumberToID[num] = n.Id
 			}
 
 			if len(seenNodes) == opts.NumNodes-1 {
@@ -1029,6 +1047,11 @@
 	}
 	launch.Log("Found all expected nodes")
 
+	// Build the rest of NodeIDs from map.
+	for i := 1; i < opts.NumNodes; i++ {
+		cluster.NodeIDs = append(cluster.NodeIDs, nodeNumberToID[i])
+	}
+
 	approvedNodes := make(map[string]bool)
 	upNodes := make(map[string]bool)
 	if !opts.LeaveNodesNew {
