diff --git a/metropolis/node/core/consensus/BUILD.bazel b/metropolis/node/core/consensus/BUILD.bazel
index eeb8d3b..b68c7f9 100644
--- a/metropolis/node/core/consensus/BUILD.bazel
+++ b/metropolis/node/core/consensus/BUILD.bazel
@@ -23,6 +23,7 @@
         "//osbase/logtree/unraw",
         "//osbase/pki",
         "//osbase/supervisor",
+        "@io_etcd_go_etcd_api_v3//etcdserverpb",
         "@io_etcd_go_etcd_client_v3//:client",
         "@io_etcd_go_etcd_server_v3//embed",
     ],
diff --git a/metropolis/node/core/consensus/consensus.go b/metropolis/node/core/consensus/consensus.go
index e749f7b..8da53d6 100644
--- a/metropolis/node/core/consensus/consensus.go
+++ b/metropolis/node/core/consensus/consensus.go
@@ -97,6 +97,7 @@
 	"net/url"
 	"time"
 
+	"go.etcd.io/etcd/api/v3/etcdserverpb"
 	clientv3 "go.etcd.io/etcd/client/v3"
 	"go.etcd.io/etcd/server/v3/embed"
 
@@ -143,6 +144,26 @@
 	}
 }
 
+// GetEtcdMemberNodeId returns the node ID of an etcd member. It works even for
+// members which have not started, where member.Name is empty.
+func GetEtcdMemberNodeId(member *etcdserverpb.Member) string {
+	if member.Name != "" {
+		return member.Name
+	}
+	if len(member.PeerURLs) == 0 {
+		return ""
+	}
+	u, err := url.Parse(member.PeerURLs[0])
+	if err != nil {
+		return ""
+	}
+	nodeId, _, err := net.SplitHostPort(u.Host)
+	if err != nil {
+		return ""
+	}
+	return nodeId
+}
+
 // Service is the etcd cluster member service. See package-level documentation
 // for more information.
 type Service struct {
@@ -497,6 +518,10 @@
 			if !member.IsLearner {
 				continue
 			}
+			if member.Name == "" {
+				// If the name is empty, the member has not started.
+				continue
+			}
 			// Always call PromoteMember since the metadata necessary to decide if we should
 			// is private. Luckily etcd already does consistency checks internally and will
 			// refuse to promote nodes that aren't connected or are still behind on
diff --git a/metropolis/node/core/consensus/status.go b/metropolis/node/core/consensus/status.go
index 994e9f7..55b4339 100644
--- a/metropolis/node/core/consensus/status.go
+++ b/metropolis/node/core/consensus/status.go
@@ -146,7 +146,7 @@
 	var existingNodes []ExistingNode
 	var newExists bool
 	for _, m := range members.Members {
-		if m.Name == nodeID {
+		if GetEtcdMemberNodeId(m) == nodeID {
 			newExists = true
 		}
 		if m.IsLearner {
diff --git a/metropolis/node/core/curator/impl_leader_curator.go b/metropolis/node/core/curator/impl_leader_curator.go
index cd6fed2..ec18688 100644
--- a/metropolis/node/core/curator/impl_leader_curator.go
+++ b/metropolis/node/core/curator/impl_leader_curator.go
@@ -16,6 +16,7 @@
 	tpb "google.golang.org/protobuf/types/known/timestamppb"
 
 	common "source.monogon.dev/metropolis/node"
+	"source.monogon.dev/metropolis/node/core/consensus"
 	ipb "source.monogon.dev/metropolis/node/core/curator/proto/api"
 	"source.monogon.dev/metropolis/node/core/identity"
 	"source.monogon.dev/metropolis/node/core/rpc"
@@ -616,7 +617,7 @@
 	}
 	for _, member := range members.Members {
 		st := ipb.GetConsensusStatusResponse_EtcdMember{
-			Id:     member.Name,
+			Id:     consensus.GetEtcdMemberNodeId(member),
 			Status: ipb.GetConsensusStatusResponse_EtcdMember_STATUS_FULL,
 		}
 		if member.IsLearner {
