diff --git a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
index 296d19e..7fc1767 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
@@ -81,7 +81,7 @@
 
   static final String DISABLE_GRANTING_PROJECT_OWNERSHIP = "disableGrantingProjectOwnership";
 
-  private final Groups createGroupFactory;
+  private final Groups groups;
   private final String documentationUrl;
   private final AllProjectsNameProvider allProjectsName;
   private final Provider<CurrentUser> self;
@@ -91,14 +91,14 @@
 
   @Inject
   public ProjectCreationValidator(
-      Groups createGroupFactory,
+      Groups groups,
       @PluginCanonicalWebUrl String url,
       AllProjectsNameProvider allProjectsName,
       Provider<CurrentUser> self,
       PermissionBackend permissionBackend,
       PluginConfigFactory cfg,
       @PluginName String pluginName) {
-    this.createGroupFactory = createGroupFactory;
+    this.groups = groups;
     this.documentationUrl = url + "Documentation/index.html";
     this.allProjectsName = allProjectsName;
     this.self = self;
@@ -172,7 +172,7 @@
     try {
       GroupInfo groupInfo = null;
       try {
-        groupInfo = createGroupFactory.create(name).get();
+        groupInfo = groups.create(name).get();
       } catch (ResourceConflictException e) {
         // name already exists, make sure it is unique by adding a abbreviated
         // sha1
@@ -185,7 +185,7 @@
             name,
             e.getMessage(),
             nameWithSha1);
-        groupInfo = createGroupFactory.create(nameWithSha1).get();
+        groupInfo = groups.create(nameWithSha1).get();
       }
       return AccountGroup.UUID.parse(groupInfo.id);
     } catch (RestApiException e) {
