diff --git a/ud/channelIDTracking.go b/ud/channelIDTracking.go
index 328b1d4dd2ee26258ff272ee7b1820b4bd65c533..93adbc4bc14ad7b98e28cb84ea00e460f98da668 100644
--- a/ud/channelIDTracking.go
+++ b/ud/channelIDTracking.go
@@ -195,13 +195,6 @@ func newclientIDTracker(comms channelLeaseComms, host *connect.Host, username st
 		jww.FATAL.Panic(err)
 	}
 
-	if !reg.IsRegistered() {
-		err = c.register()
-		if err != nil {
-			jww.FATAL.Panic(err)
-		}
-	}
-
 	c := &clientIDTracker{
 		kv:                kv,
 		rngSource:         rngSource,
@@ -212,6 +205,14 @@ func newclientIDTracker(comms channelLeaseComms, host *connect.Host, username st
 		host:              host,
 		udPubKey:          udPubKey,
 	}
+
+	if !reg.IsRegistered() {
+		err = c.register()
+		if err != nil {
+			jww.FATAL.Panic(err)
+		}
+	}
+
 	return c
 }