Index: trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 2301)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 2302)
@@ -51,4 +51,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.tagging.TaggingPreset;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -493,6 +494,12 @@
             if (s.equals("|"))
                 control.addSeparator();
-            else
-                control.add(getAction(s));
+            else {
+                Action a = getAction(s);
+                JButton b = control.add(a);
+                String tt = (String) a.getValue(TaggingPreset.OPTIONAL_TOOLTIP_TEXT);
+                if (tt != null) {
+                    b.setToolTipText(tt);
+                }
+            }
         }
         control.setVisible(control.getComponentCount() != 0);
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 2301)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 2302)
@@ -71,4 +71,5 @@
     public String name_context;
     public String locale_name;
+    public final static String OPTIONAL_TOOLTIP_TEXT = "Optional tooltip text";
 
     public static abstract class Item {
@@ -518,7 +519,4 @@
         putValue(Action.NAME, getName());
         putValue("toolbar", "tagging_" + getRawName());
-        putValue(SHORT_DESCRIPTION, (group != null ?
-                tr("Use preset ''{0}'' of group ''{1}''", getLocaleName(), group.getName()) :
-                    tr("Use preset ''{0}''", getLocaleName())));
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetMenu.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetMenu.java	(revision 2301)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetMenu.java	(revision 2302)
@@ -21,7 +21,8 @@
     public void setDisplayName() {
         putValue(Action.NAME, getName());
-        putValue(SHORT_DESCRIPTION, (group != null ?
-                tr("Preset group ''{0}'' of group ''{1}''", getLocaleName(), group.getName()) :
-                    tr("Preset group ''{0}''", getLocaleName())));
+        /** Tooltips should be shown for the toolbar buttons, but not in the menu. */
+        putValue(OPTIONAL_TOOLTIP_TEXT, (group != null ?
+                tr("Preset group {1} / {0}", getLocaleName(), group.getName()) :
+                    tr("Preset group {0}", getLocaleName())));
         putValue("toolbar", "tagginggroup_" + getRawName());
     }
