diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationFilter.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationFilter.java
index 2c0701b..010b797 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationFilter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationFilter.java
@@ -77,8 +77,6 @@
   private static final FluentLogger logger = FluentLogger.forEnclosingClass();
 
   private static final Pattern projectNameInGerritUrl = Pattern.compile(".*/projects/([^/]+)/.*");
-  private static final Pattern projectNameInitProjectUrl =
-      Pattern.compile(".*/init-project/([^/]+.git)");
 
   private FetchAction fetchAction;
   private BatchFetchAction batchFetchAction;
@@ -325,17 +323,6 @@
     }
   }
 
-  /**
-   * Return project name from request URI. Request URI format:
-   * /a/projects/<project_name>/pull-replication~apply-object
-   *
-   * @param req
-   * @return project name
-   */
-  private Optional<IdString> getInitProjectName(HttpServletRequest req) {
-    return extractProjectName(req, projectNameInitProjectUrl);
-  }
-
   private Optional<IdString> getProjectName(HttpServletRequest req) {
     return extractProjectName(req, projectNameInGerritUrl);
   }
