diff --git a/src/main/java/com/googlesource/gerrit/plugins/javamelody/Module.java b/src/main/java/com/googlesource/gerrit/plugins/javamelody/Module.java
index e300143..291fbf1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/javamelody/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/javamelody/Module.java
@@ -15,19 +15,33 @@
 package com.googlesource.gerrit.plugins.javamelody;
 
 import com.google.gerrit.extensions.annotations.Exports;
+import com.google.gerrit.extensions.annotations.PluginName;
 import com.google.gerrit.extensions.config.CapabilityDefinition;
 import com.google.gerrit.extensions.registration.DynamicSet;
 import com.google.gerrit.extensions.webui.TopMenu;
+import com.google.gerrit.server.config.PluginConfig;
+import com.google.gerrit.server.config.PluginConfigFactory;
 import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
 
 public class Module extends AbstractModule {
 
+  private final PluginConfig cfg;
+
+  @Inject
+  public Module(PluginConfigFactory cfgFactory,
+      @PluginName String pluginName) {
+    this.cfg = cfgFactory.getFromGerritConfig(pluginName);
+  }
+
   @Override
   protected void configure() {
     bind(CapabilityDefinition.class)
       .annotatedWith(Exports.named(MonitoringCapability.ID))
       .to(MonitoringCapability.class);
-    DynamicSet.bind(binder(), TopMenu.class)
-      .to(MonitoringTopMenu.class);
+    if (cfg.getBoolean("allowTopMenu", true)) {
+      DynamicSet.bind(binder(), TopMenu.class)
+        .to(MonitoringTopMenu.class);
+    }
   }
 }
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
new file mode 100644
index 0000000..789350d
--- /dev/null
+++ b/src/main/resources/Documentation/config.md
@@ -0,0 +1,16 @@
+Configuration
+=============
+
+The configuration of the @PLUGIN@ plugin is done in the `gerrit.config`
+file.
+
+```
+  [plugin "@PLUGIN@"]
+    allowTopMenu = false
+```
+
+<a id="allowTopMenu">
+`plugin.@PLUGIN@.allowTopMenu`
+:	Whether it is allowed to show top menu in Gerrit UI.
+	By default true.
+
