diff --git a/cmd/ud.go b/cmd/ud.go
index 3553ed6c514c41791962e0b5c27873c6d8334d80..96484e6ffd32a103bb6af39d9805560bdc1bbd9b 100644
--- a/cmd/ud.go
+++ b/cmd/ud.go
@@ -184,6 +184,25 @@ var udCmd = &cobra.Command{
 			facts = append(facts, f)
 		}
 
+		userToRemove := viper.GetString("remove")
+		if userToRemove != "" {
+			f, err := fact.NewFact(fact.Username, userToRemove)
+			if err != nil {
+				jww.FATAL.Panicf(
+					"Failed to create new fact: %+v", err)
+			}
+			err = userDiscoveryMgr.RemoveUser(f)
+			if err != nil {
+				fmt.Printf("Couldn't remove user %s",
+					userToRemove)
+				jww.FATAL.Panicf(
+					"Failed to remove user %s: %+v",
+					userToRemove, err)
+			}
+			fmt.Printf("Removed user from discovery: %s",
+				userToRemove)
+		}
+
 		if len(facts) == 0 {
 			err = client.StopNetworkFollower()
 			if err != nil {
@@ -205,25 +224,6 @@ var udCmd = &cobra.Command{
 			jww.FATAL.Panicf("%+v", err)
 		}
 
-		userToRemove := viper.GetString("remove")
-		if userToRemove != "" {
-			f, err := fact.NewFact(fact.Username, userToRemove)
-			if err != nil {
-				jww.FATAL.Panicf(
-					"Failed to create new fact: %+v", err)
-			}
-			err = userDiscoveryMgr.RemoveUser(f)
-			if err != nil {
-				fmt.Printf("Couldn't remove user %s",
-					userToRemove)
-				jww.FATAL.Panicf(
-					"Failed to remove user %s: %+v",
-					userToRemove, err)
-			}
-			fmt.Printf("Removed user from discovery: %s",
-				userToRemove)
-		}
-
 		time.Sleep(91 * time.Second)
 		err = client.StopNetworkFollower()
 		if err != nil {