diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfigParser.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfigParser.java
index 67ac6f1..d7ae063 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfigParser.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfigParser.java
@@ -79,14 +79,14 @@
     return sourceConfigs.build();
   }
 
-  private List<RemoteConfig> allFetchRemotes(Config cfg) throws ConfigInvalidException {
+  private static List<RemoteConfig> allFetchRemotes(Config cfg) throws ConfigInvalidException {
 
     Set<String> names = cfg.getSubsections("remote");
     List<RemoteConfig> result = Lists.newArrayListWithCapacity(names.size());
     for (String name : names) {
       try {
         final RemoteConfig remoteConfig = new RemoteConfig(cfg, name);
-        if (!isReplica || !remoteConfig.getFetchRefSpecs().isEmpty()) {
+        if (!remoteConfig.getFetchRefSpecs().isEmpty()) {
           result.add(remoteConfig);
         } else {
           logger.atFine().log(
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index bffca58..61d62b4 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -439,10 +439,6 @@
 	when `replicatePermissions` is true, even if the push refspec
 	is 'all refs'.
 
->  NOTE: When using the pull-replication and replication plugins together,
->  **NOT having** a `fetch` configuration for a remote, will also enable
->  the standard _push_ replication for that remote.
-
 [2]: #example_file
 
 remote.NAME.timeout
