diff --git a/cmd/ud.go b/cmd/ud.go
index 8f9709dec381d755a2560defe46d462788560b12..a4e3add757739e3e8d6712e719d730a5a81a9087 100644
--- a/cmd/ud.go
+++ b/cmd/ud.go
@@ -37,11 +37,6 @@ var udCmd = &cobra.Command{
 		jww.INFO.Printf("User: %s", user.ID)
 		writeContact(user.GetContact())
 
-		userDiscoveryMgr, err := ud.NewManager(client)
-		if err != nil {
-			jww.FATAL.Panicf("%+v", err)
-		}
-
 		// Set up reception handler
 		swboard := client.GetSwitchboard()
 		recvCh := make(chan message.Receive, 10000)
@@ -67,7 +62,7 @@ var udCmd = &cobra.Command{
 			})
 		}
 
-		err = client.StartNetworkFollower()
+		err := client.StartNetworkFollower()
 		if err != nil {
 			jww.FATAL.Panicf("%+v", err)
 		}
@@ -77,6 +72,12 @@ var udCmd = &cobra.Command{
 		client.GetHealth().AddChannel(connected)
 		waitUntilConnected(connected)
 
+		userDiscoveryMgr, err := ud.NewManager(client)
+		if err != nil {
+			jww.FATAL.Panicf("%+v", err)
+		}
+		userDiscoveryMgr.StartProcesses()
+
 		userToRegister := viper.GetString("register")
 		if userToRegister != "" {
 			err = userDiscoveryMgr.Register(userToRegister)