diff --git a/synapse/storage/data_stores/main/registration.py b/synapse/storage/data_stores/main/registration.py
index c124bbb88bd97ded9cdc81c3e71326fbbf989925..0a3c1f0510a3c887329517ed532d8617c1eb5080 100644
--- a/synapse/storage/data_stores/main/registration.py
+++ b/synapse/storage/data_stores/main/registration.py
@@ -492,17 +492,14 @@ class RegistrationWorkerStore(SQLBaseStore):
 
             regex = re.compile(r"^@(\d+):")
 
-            found = set()
+            max_found = 0
 
             for (user_id,) in txn:
                 match = regex.search(user_id)
                 if match:
-                    found.add(int(match.group(1)))
+                    max_found = max(int(match.group(1)), max_found)
 
-            if not found:
-                return 1
-
-            return max(found) + 1
+            return max_found + 1
 
         return (
             (