diff --git a/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java b/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
index 5d23549..5501c96 100644
--- a/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
+++ b/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
@@ -1,12 +1,14 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.gui.tagging;
 
+import java.awt.Color;
 import static org.openstreetmap.josm.tools.I18n.tr;
 import static org.openstreetmap.josm.tools.I18n.trc;
 import static org.openstreetmap.josm.tools.I18n.trn;
 
 import java.awt.Component;
 import java.awt.Dimension;
+import java.awt.Font;
 import java.awt.GridBagLayout;
 import java.awt.Image;
 import java.awt.Insets;
@@ -212,13 +214,21 @@ public class TaggingPreset extends AbstractAction implements MapView.LayerChange
                 res.append(value);
             }
             res.append("</b>");
-            if (short_description != null) {
+            if (short_description != null && !short_description.startsWith("img:")) {
                 // wrap in table to restrict the text width
-                res.append("<br><table><td width='232'>(").append(short_description).append(")</td></table>");
+                res.append("<div style=\"width:300px; padding:0 0 5px 5ppx\">").append(short_description).append("</div>");
             }
             return res.toString();
         }
 
+        public ImageIcon getIcon() {
+            if (short_description != null && short_description.startsWith("img:")) {
+                return ImageProvider.getIfAvailable(short_description.substring("img:".length()));
+            } else {
+                return null;
+            }
+        }
+
         public PresetListEntry(String value) {
             this.value = value;
             this.display_value = value;
@@ -575,7 +585,7 @@ public class TaggingPreset extends AbstractAction implements MapView.LayerChange
         protected ListCellRenderer getListCellRenderer() {
             return new ListCellRenderer() {
 
-                HtmlPanel lbl = new HtmlPanel();
+                JLabel lbl = new JLabel();
                 JComponent dummy = new JComponent() {
                 };
 
@@ -594,8 +604,10 @@ public class TaggingPreset extends AbstractAction implements MapView.LayerChange
                     }
 
                     PresetListEntry item = (PresetListEntry) value;
-                    String s = item.getListDisplay();
-                    lbl.setText(s);
+                    lbl.setOpaque(true);
+                    lbl.setFont(lbl.getFont().deriveFont(Font.PLAIN));
+                    lbl.setText("<html>" + item.getListDisplay() + "</html>");
+                    lbl.setIcon(item.getIcon());
                     lbl.setEnabled(list.isEnabled());
                     // We do not want the editor to have the maximum height of all
                     // entries. Return a dummy with bogus height.
