diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserSettingsScreen.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserSettingsScreen.java
index 9b23513..12afb28 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserSettingsScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserSettingsScreen.java
@@ -171,11 +171,16 @@
     blockedUsernamesPanel =
         new StringListPanel("Blocked Usernames", "Username",
             info.getBlockedNames(), saveButton);
+    blockedUsernamesPanel.setInfo("List of usernames which are "
+        + "forbidden to be used as name for a service user. "
+        + "The blocked usernames are case insensitive.");
     add(blockedUsernamesPanel);
 
     groupsPanel =
         new StringListPanel("Groups", "Group Name",
             info.getGroups().keySet(), saveButton);
+    groupsPanel.setInfo("Names of groups to which newly created "
+        + "service users should be added automatically.");
     add(groupsPanel);
 
     HorizontalPanel buttons = new HorizontalPanel();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/StringListPanel.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/StringListPanel.java
index 9aeaf6f..2a2f970 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/StringListPanel.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/StringListPanel.java
@@ -29,6 +29,7 @@
 import com.google.gwt.user.client.ui.FlowPanel;
 import com.google.gwt.user.client.ui.FocusWidget;
 import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwtexpui.globalkey.client.NpTextBox;
 
@@ -40,6 +41,8 @@
   private final NpTextBox input;
   private final StringListTable t;
   private final Button deleteButton;
+  private final HorizontalPanel titlePanel;
+  private Image info;
 
   StringListPanel(String title, String fieldName, JsArrayString values,
       final FocusWidget w) {
@@ -48,9 +51,11 @@
 
   StringListPanel(String title, String fieldName, Collection<String> values,
       final FocusWidget w) {
+    titlePanel = new HorizontalPanel();
     Label titleLabel = new Label(title);
     titleLabel.setStyleName("serviceuser-smallHeading");
-    add(titleLabel);
+    titlePanel.add(titleLabel);
+    add(titlePanel);
     input = new NpTextBox();
     input.addKeyPressHandler(new KeyPressHandler() {
       @Override
@@ -93,6 +98,14 @@
     t.display(values);
   }
 
+  void setInfo(String msg) {
+    if (info == null) {
+      info = new Image(ServiceUserPlugin.RESOURCES.info());
+      titlePanel.add(info);
+    }
+    info.setTitle(msg);
+  }
+
   List<String> getValues() {
     return t.getValues();
   }
