diff --git a/BUILD b/BUILD
index 5333141..91a4e96 100644
--- a/BUILD
+++ b/BUILD
@@ -15,7 +15,7 @@
     srcs = glob(["java/com/google/gerrit/plugins/codeowners/module/*.java"]),
     manifest_entries = [
         "Gerrit-PluginName: code-owners",
-        "Gerrit-Module: com.google.gerrit.plugins.codeowners.module.Module",
+        "Gerrit-Module: com.google.gerrit.plugins.codeowners.module.PluginModule",
         "Gerrit-HttpModule: com.google.gerrit.plugins.codeowners.module.HttpModule",
         "Gerrit-BatchModule: com.google.gerrit.plugins.codeowners.module.BatchModule",
     ],
diff --git a/java/com/google/gerrit/plugins/codeowners/acceptance/TestModule.java b/java/com/google/gerrit/plugins/codeowners/acceptance/TestModule.java
index 0394508..98987b5 100644
--- a/java/com/google/gerrit/plugins/codeowners/acceptance/TestModule.java
+++ b/java/com/google/gerrit/plugins/codeowners/acceptance/TestModule.java
@@ -17,7 +17,7 @@
 import com.google.gerrit.extensions.config.FactoryModule;
 import com.google.gerrit.plugins.codeowners.acceptance.testsuite.CodeOwnerConfigOperations;
 import com.google.gerrit.plugins.codeowners.acceptance.testsuite.CodeOwnerConfigOperationsImpl;
-import com.google.gerrit.plugins.codeowners.module.Module;
+import com.google.gerrit.plugins.codeowners.module.PluginModule;
 import com.google.gerrit.plugins.codeowners.testing.backend.TestCodeOwnerConfigStorage;
 
 /**
@@ -27,7 +27,7 @@
 class TestModule extends FactoryModule {
   @Override
   public void configure() {
-    install(new Module());
+    install(new PluginModule());
 
     // Only add bindings here that are specifically required for tests, in order to keep the Guice
     // setup in tests as realistic as possible by delegating to the original module.
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/BackendModule.java b/java/com/google/gerrit/plugins/codeowners/backend/BackendModule.java
index e137ba7..89c9554 100644
--- a/java/com/google/gerrit/plugins/codeowners/backend/BackendModule.java
+++ b/java/com/google/gerrit/plugins/codeowners/backend/BackendModule.java
@@ -19,6 +19,7 @@
 import com.google.gerrit.extensions.events.ReviewerAddedListener;
 import com.google.gerrit.extensions.registration.DynamicMap;
 import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.plugins.codeowners.backend.CodeOwnerSubmitRule.CodeOwnerSubmitRuleModule;
 import com.google.gerrit.plugins.codeowners.backend.config.CodeOwnersPluginConfig;
 import com.google.gerrit.plugins.codeowners.backend.config.CodeOwnersPluginGlobalConfigSnapshot;
 import com.google.gerrit.plugins.codeowners.backend.config.CodeOwnersPluginProjectConfigSnapshot;
@@ -50,7 +51,7 @@
           .to(codeOwnerBackendId.getCodeOwnerBackendClass());
     }
 
-    install(new CodeOwnerSubmitRule.Module());
+    install(new CodeOwnerSubmitRuleModule());
 
     DynamicSet.bind(binder(), ExceptionHook.class).to(CodeOwnersExceptionHook.class);
     DynamicSet.bind(binder(), OnPostReview.class).to(OnCodeOwnerApproval.class);
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerSubmitRule.java b/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerSubmitRule.java
index bd78d6d..4053413 100644
--- a/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerSubmitRule.java
+++ b/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerSubmitRule.java
@@ -43,7 +43,7 @@
 class CodeOwnerSubmitRule implements SubmitRule {
   private static final FluentLogger logger = FluentLogger.forEnclosingClass();
 
-  public static class Module extends AbstractModule {
+  public static class CodeOwnerSubmitRuleModule extends AbstractModule {
     @Override
     public void configure() {
       bind(SubmitRule.class)
diff --git a/java/com/google/gerrit/plugins/codeowners/module/Module.java b/java/com/google/gerrit/plugins/codeowners/module/PluginModule.java
similarity index 96%
rename from java/com/google/gerrit/plugins/codeowners/module/Module.java
rename to java/com/google/gerrit/plugins/codeowners/module/PluginModule.java
index c5447f6..96f5e1e 100644
--- a/java/com/google/gerrit/plugins/codeowners/module/Module.java
+++ b/java/com/google/gerrit/plugins/codeowners/module/PluginModule.java
@@ -22,7 +22,7 @@
 import com.google.gerrit.plugins.codeowners.validation.ValidationModule;
 
 /** Guice module that registers the extensions of the code-owners plugin. */
-public class Module extends FactoryModule {
+public class PluginModule extends FactoryModule {
   @Override
   protected void configure() {
     install(new ApiModule());
