diff --git a/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/AutoassignConfig.java b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/AutoAssignConfig.java
similarity index 95%
rename from owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/AutoassignConfig.java
rename to owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/AutoAssignConfig.java
index 546e0aa..8d60513 100644
--- a/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/AutoassignConfig.java
+++ b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/AutoAssignConfig.java
@@ -29,13 +29,13 @@
 import com.google.inject.Singleton;
 
 @Singleton
-public class AutoassignConfig {
+public class AutoAssignConfig {
 
   private final PluginConfigFactory cfgFactory;
   private final String pluginName;
 
   @Inject
-  AutoassignConfig(@PluginName String pluginName, PluginConfigFactory cfgFactory) {
+  AutoAssignConfig(@PluginName String pluginName, PluginConfigFactory cfgFactory) {
     this.pluginName = pluginName;
     this.cfgFactory = cfgFactory;
   }
diff --git a/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/GitRefListener.java b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/GitRefListener.java
index 756332c..cc8d0ed 100644
--- a/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/GitRefListener.java
+++ b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/GitRefListener.java
@@ -80,7 +80,7 @@
 
   private ChangeNotes.Factory notesFactory;
 
-  private final AutoassignConfig cfg;
+  private final AutoAssignConfig cfg;
 
   @Inject
   public GitRefListener(
@@ -92,7 +92,7 @@
       OneOffRequestContext oneOffReqCtx,
       Provider<CurrentUser> currentUserProvider,
       ChangeNotes.Factory notesFactory,
-      AutoassignConfig cfg) {
+      AutoAssignConfig cfg) {
     this.api = api;
     this.patchListCache = patchListCache;
     this.repositoryManager = repositoryManager;
diff --git a/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManager.java b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManager.java
index ea1975c..ac095f6 100644
--- a/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManager.java
+++ b/owners-autoassign/src/main/java/com/googlesource/gerrit/owners/common/ReviewerManager.java
@@ -69,7 +69,7 @@
   @Inject(optional = true)
   private DynamicItem<OwnersAttentionSet> ownersForAttentionSet;
 
-  private final AutoassignConfig cfg;
+  private final AutoAssignConfig cfg;
 
   @Inject
   public ReviewerManager(
@@ -78,7 +78,7 @@
       IdentifiedUser.GenericFactory userFactory,
       ChangeData.Factory changeDataFactory,
       PermissionBackend permissionBackend,
-      AutoassignConfig cfg) {
+      AutoAssignConfig cfg) {
     this.requestContext = requestContext;
     this.gApi = gApi;
     this.userFactory = userFactory;
diff --git a/owners-autoassign/src/test/java/com/vmware/gerrit/owners/common/GitRefListenerTest.java b/owners-autoassign/src/test/java/com/vmware/gerrit/owners/common/GitRefListenerTest.java
index e460136..069f85a 100644
--- a/owners-autoassign/src/test/java/com/vmware/gerrit/owners/common/GitRefListenerTest.java
+++ b/owners-autoassign/src/test/java/com/vmware/gerrit/owners/common/GitRefListenerTest.java
@@ -27,7 +27,7 @@
 import com.google.inject.Provider;
 import com.google.inject.Singleton;
 import com.googlesource.gerrit.owners.common.Accounts;
-import com.googlesource.gerrit.owners.common.AutoassignConfig;
+import com.googlesource.gerrit.owners.common.AutoAssignConfig;
 import com.googlesource.gerrit.owners.common.GitRefListener;
 import com.googlesource.gerrit.owners.common.ReviewerManager;
 import org.eclipse.jgit.lib.Repository;
@@ -48,7 +48,7 @@
       OneOffRequestContext oneOffReqCtx,
       Provider<CurrentUser> currentUserProvider,
       ChangeNotes.Factory notesFactory,
-      AutoassignConfig cfg) {
+      AutoAssignConfig cfg) {
     super(
         api,
         patchListCache,
