diff --git a/src/main/java/com/googlesource/gerrit/plugins/importer/ConfigureProjectStep.java b/src/main/java/com/googlesource/gerrit/plugins/importer/ConfigureProjectStep.java
index 6aefa97..9497262 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/importer/ConfigureProjectStep.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/importer/ConfigureProjectStep.java
@@ -22,6 +22,7 @@
 import com.google.gerrit.server.git.ProjectConfig;
 import com.google.gerrit.server.project.ProjectCache;
 import com.google.inject.Inject;
+import com.google.inject.Provider;
 import com.google.inject.Singleton;
 
 import org.eclipse.jgit.lib.ProgressMonitor;
@@ -31,13 +32,13 @@
 @Singleton
 class ConfigureProjectStep {
   private final ProjectCache projectCache;
-  private final MetaDataUpdate.User metaDataUpdateFactory;
+  private final Provider<MetaDataUpdate.User> metaDataUpdateFactory;
   private final AllProjectsName allProjectsName;
 
   @Inject
   ConfigureProjectStep(
       ProjectCache projectCache,
-      MetaDataUpdate.User metaDataUpdateFactory,
+      Provider<MetaDataUpdate.User> metaDataUpdateFactory,
       AllProjectsName allProjectsName) {
     this.projectCache = projectCache;
     this.metaDataUpdateFactory = metaDataUpdateFactory;
@@ -51,7 +52,7 @@
     Project p = projectConfig.getProject();
     if (!p.getParent(allProjectsName).equals(parentName)) {
       p.setParentName(parentName);
-      MetaDataUpdate md = metaDataUpdateFactory.create(name);
+      MetaDataUpdate md = metaDataUpdateFactory.get().create(name);
       md.setMessage("Set Parent\n");
       projectConfig.commit(md);
       projectCache.evict(p);
