diff --git a/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java b/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
index dac0e97..c76a1e1 100644
--- a/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
+++ b/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
@@ -1099,6 +1099,9 @@
       assertDisjunctive(lblArgs, ARG_COUNT, ARG_ID_USER);
       assertDisjunctive(lblArgs, ARG_COUNT, ARG_ID_GROUP);
 
+      // Using "user=" or "group=" args is not supported.
+      assertDisjunctive(lblArgs, ARG_ID_USER, ARG_ID_GROUP);
+
       for (Map.Entry<String, ValOp> pair : lblArgs.keyValue.entrySet()) {
         String key = pair.getKey();
         String value = pair.getValue().value();
diff --git a/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java b/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
index 19eab46..ab1bc8e 100644
--- a/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
+++ b/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
@@ -1554,6 +1554,15 @@
         .hasMessageThat()
         .isEqualTo("Cannot use the 'count' argument in conjunction with the 'group' argument");
 
+    // "user" and "group" args cannot be used simultaneously.
+    thrown =
+        assertThrows(
+            BadRequestException.class,
+            () -> assertQuery("label:Code-Review=+1,user=non_uploader,group=gerrit"));
+    assertThat(thrown)
+        .hasMessageThat()
+        .isEqualTo("Cannot use the 'user' argument in conjunction with the 'group' argument");
+
     // "non_contributor arg for the label operator is not allowed in change queries
     thrown =
         assertThrows(
