Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PresetListPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PresetListPanel.java	(revision 6402)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PresetListPanel.java	(revision 6403)
@@ -92,5 +92,5 @@
         for (TaggingPreset t : TaggingPreset.getMatchingPresets(types, tags, true)) {
             JLabel lbl = new JLabel(t.getName() + " …");
-            lbl.setIcon((Icon) t.getValue(Action.SMALL_ICON));
+            lbl.setIcon(t.getIcon());
             lbl.addMouseListener(new PresetLabelML(lbl, t, presetHandler));
             add(lbl, GBC.eol().fill(GBC.HORIZONTAL));
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 6402)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 6403)
@@ -68,4 +68,5 @@
 import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.mappaint.MapPaintStyles;
+import org.openstreetmap.josm.gui.tagging.TaggingPreset;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionListItem;
@@ -670,5 +671,17 @@
                 ImageIcon icon = MapPaintStyles.getNodeIcon(t, false); // Filters deprecated icon
                 if (icon == null) {
-                    icon = new ImageIcon(new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB));
+                    // If no icon found in map style look at presets
+                    Map<String, String> map = new HashMap<String, String>();
+                    map.put(t.getKey(), t.getValue());
+                    for (TaggingPreset tp : TaggingPreset.getMatchingPresets(null, map, false)) {
+                        icon = tp.getIcon();
+                        if (icon != null) {
+                            break;
+                        }
+                    }
+                    // If still nothing display an empty icon
+                    if (icon == null) {
+                        icon = new ImageIcon(new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB));
+                    }
                 }
                 GridBagConstraints gbc = new GridBagConstraints();
@@ -723,5 +736,4 @@
         }
 
-
         /**
          * Read tags from comboboxes and add it to all selected objects
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 6402)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 6403)
@@ -123,6 +123,19 @@
         return group != null ? group.getRawName() + "/" + name : name;
     }
-
-    /*
+    
+    /**
+     * Returns the preset icon.
+     * @return The preset icon, or {@code null} if none defined
+     * @since 6403
+     */
+    public final ImageIcon getIcon() {
+        Object icon = getValue(Action.SMALL_ICON);
+        if (icon instanceof ImageIcon) {
+            return (ImageIcon) icon;
+        }
+        return null;
+    }
+
+    /**
      * Called from the XML parser to set the icon.
      * This task is performed in the background in order to speedup startup.
@@ -156,5 +169,5 @@
     }
 
-    /*
+    /**
      * Called from the XML parser to set the types this preset affects.
      */
