diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/filter/ExcludedRefsFilter.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/filter/ExcludedRefsFilter.java
index 63755b4..4847446 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/filter/ExcludedRefsFilter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/filter/ExcludedRefsFilter.java
@@ -25,16 +25,7 @@
 @Singleton
 public class ExcludedRefsFilter extends RefsFilter {
   public static String[] DEFAULT_REPLICATION_EXCLUDE_REFS =
-      new String[] {
-        RefNames.REFS_USERS + "*",
-        RefNames.REFS_CONFIG,
-        RefNames.REFS_SEQUENCES + "*",
-        RefNames.REFS_EXTERNAL_IDS,
-        RefNames.REFS_GROUPS + "*",
-        RefNames.REFS_GROUPNAMES,
-        RefNames.REFS_CACHE_AUTOMERGE + "*",
-        RefNames.REFS_STARRED_CHANGES + "*"
-      };
+      new String[] {RefNames.REFS_CACHE_AUTOMERGE + "*", RefNames.REFS_STARRED_CHANGES + "*"};
 
   @Inject
   public ExcludedRefsFilter(ReplicationConfig replicationConfig) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java
index 6d4c499..0743cb9 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java
@@ -273,38 +273,6 @@
   }
 
   @Test
-  public void shouldSkipEventWhenUsersRef() {
-    Event event = new TestEvent("refs/users/00/1000000");
-    objectUnderTest.onGitReferenceUpdated(event);
-
-    verifyZeroInteractions(wq, rd, dis, sl, fetchClientFactory, accountInfo);
-  }
-
-  @Test
-  public void shouldSkipEventWhenGroupsRef() {
-    Event event = new TestEvent("refs/groups/a1/a16d5b33cc789d60b682c654f03f9cc2feb12975");
-    objectUnderTest.onGitReferenceUpdated(event);
-
-    verifyZeroInteractions(wq, rd, dis, sl, fetchClientFactory, accountInfo);
-  }
-
-  @Test
-  public void shouldSkipEventWhenGroupNamesRef() {
-    Event event = new TestEvent("refs/meta/group-names");
-    objectUnderTest.onGitReferenceUpdated(event);
-
-    verifyZeroInteractions(wq, rd, dis, sl, fetchClientFactory, accountInfo);
-  }
-
-  @Test
-  public void shouldSkipEventWhenMultiSequenceRef() {
-    Event event = new TestEvent("refs/sequences/changes");
-    objectUnderTest.onGitReferenceUpdated(event);
-
-    verifyZeroInteractions(wq, rd, dis, sl, fetchClientFactory, accountInfo);
-  }
-
-  @Test
   public void shouldSkipEventWhenMultiSiteVersionRef() throws IOException {
     FileBasedConfig fileConfig =
         new FileBasedConfig(sitePaths.etc_dir.resolve("replication.config").toFile(), FS.DETECTED);
@@ -339,22 +307,6 @@
   }
 
   @Test
-  public void shouldSkipEventWhenConfigRef() {
-    Event event = new TestEvent("refs/meta/config");
-    objectUnderTest.onGitReferenceUpdated(event);
-
-    verifyZeroInteractions(wq, rd, dis, sl, fetchClientFactory, accountInfo);
-  }
-
-  @Test
-  public void shouldSkipEventWhenExternalIdsRef() {
-    Event event = new TestEvent("refs/meta/external-ids");
-    objectUnderTest.onGitReferenceUpdated(event);
-
-    verifyZeroInteractions(wq, rd, dis, sl, fetchClientFactory, accountInfo);
-  }
-
-  @Test
   public void shouldCallDeleteWhenReplicateProjectDeletionsTrue() throws IOException {
     when(source.wouldDeleteProject(any())).thenReturn(true);
 
