diff --git a/src/test/java/com/googlesource/gerrit/plugins/singleusergroup/SingleUserGroupTest.java b/src/test/java/com/googlesource/gerrit/plugins/singleusergroup/SingleUserGroupTest.java
index 9bc8859..e24db66 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/singleusergroup/SingleUserGroupTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/singleusergroup/SingleUserGroupTest.java
@@ -18,8 +18,14 @@
 
 import com.google.gerrit.acceptance.LightweightPluginDaemonTest;
 import com.google.gerrit.acceptance.NoHttpd;
+import com.google.gerrit.acceptance.TestAccount;
 import com.google.gerrit.acceptance.TestPlugin;
+import com.google.gerrit.common.data.GroupDescription;
 import com.google.gerrit.extensions.common.GroupInfo;
+import com.google.gerrit.reviewdb.client.AccountGroup;
+import com.google.gerrit.server.IdentifiedUser;
+import com.google.gerrit.server.account.GroupBackend;
+import com.google.inject.Inject;
 import java.util.Map;
 import org.junit.Test;
 
@@ -28,6 +34,8 @@
     name = "singleusergroup",
     sysModule = "com.googlesource.gerrit.plugins.singleusergroup.SingleUserGroup$Module")
 public class SingleUserGroupTest extends LightweightPluginDaemonTest {
+  @Inject private GroupBackend groupBackend;
+
   @Test
   public void testSuggestion() throws Exception {
     // No ability to modify account and therefore no ACL to see secondary email
@@ -35,4 +43,18 @@
     Map<String, GroupInfo> groups = gApi.groups().list().withSuggest("adm").getAsMap();
     assertThat(groups).containsKey("user/Administrator (admin)");
   }
+
+  @Test
+  public void testAllNumericUserGroup() throws Exception {
+    String numericUsername = "123456";
+    TestAccount numericAccount = accountCreator.create(numericUsername);
+    IdentifiedUser numericUser = identifiedUserFactory.create(numericAccount.getId());
+
+    GroupDescription.Basic numericUserGroup =
+        groupBackend.get(AccountGroup.UUID.parse("user:" + numericUsername));
+    assertThat(numericUserGroup).isNotNull();
+
+    assertThat(groupBackend.membershipsOf(numericUser).contains(numericUserGroup.getGroupUUID()))
+        .isTrue();
+  }
 }
