diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationConfigImpl.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationConfigImpl.java
index 59c6bb7..76ee14b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationConfigImpl.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationConfigImpl.java
@@ -34,12 +34,6 @@
   private final MergedConfigResource configResource;
   private final Path pluginDataDir;
 
-  // TODO: remove in follow-up change, as this was added to reduce the diff size
-  // for change Ic6a5c5b8ab5
-  public ReplicationConfigImpl(SitePaths paths, @PluginData Path pluginDataDir) {
-    this(MergedConfigResource.withBaseOnly(new FileConfigResource(paths)), paths, pluginDataDir);
-  }
-
   @Inject
   public ReplicationConfigImpl(
       MergedConfigResource configResource, SitePaths site, @PluginData Path pluginDataDir) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/AbstractConfigTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/AbstractConfigTest.java
index 342d394..b2ea97a 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/AbstractConfigTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/AbstractConfigTest.java
@@ -146,6 +146,9 @@
   }
 
   protected ReplicationConfigImpl newReplicationFileBasedConfig() {
-    return new ReplicationConfigImpl(sitePaths, pluginDataPath);
+    return new ReplicationConfigImpl(
+        MergedConfigResource.withBaseOnly(new FileConfigResource(sitePaths)),
+        sitePaths,
+        pluginDataPath);
   }
 }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/AutoReloadRunnableTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/AutoReloadRunnableTest.java
index 8a1b85d..2040edb 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/AutoReloadRunnableTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/AutoReloadRunnableTest.java
@@ -85,7 +85,10 @@
     return new Provider<>() {
       @Override
       public ReplicationConfigImpl get() {
-        return new ReplicationConfigImpl(sitePaths, sitePaths.data_dir) {
+        return new ReplicationConfigImpl(
+            MergedConfigResource.withBaseOnly(new FileConfigResource(sitePaths)),
+            sitePaths,
+            sitePaths.data_dir) {
           @Override
           public String getVersion() {
             return String.format("%s", System.nanoTime());
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResourceTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResourceTest.java
index 9a5ece9..6782700 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResourceTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/FanoutConfigResourceTest.java
@@ -266,7 +266,11 @@
     FanoutConfigResource objectUnderTest = new FanoutConfigResource(sitePaths);
 
     String replicationConfigVersion =
-        new ReplicationConfigImpl(sitePaths, pluginDataPath).getVersion();
+        new ReplicationConfigImpl(
+                MergedConfigResource.withBaseOnly(new FileConfigResource(sitePaths)),
+                sitePaths,
+                pluginDataPath)
+            .getVersion();
 
     MoreFiles.deleteRecursively(sitePaths.etc_dir.resolve("replication"), ALLOW_INSECURE);
 
