Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresets.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresets.java	(revision 9264)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresets.java	(revision 9265)
@@ -12,6 +12,9 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.gui.MenuScroller;
 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager;
+import org.openstreetmap.josm.tools.Predicate;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -93,4 +96,13 @@
     }
 
+    public static Collection<TaggingPreset> getMatchingPresets(final OsmPrimitive primitive) {
+        return Utils.filter(getTaggingPresets(), new Predicate<TaggingPreset>() {
+            @Override
+            public boolean evaluate(TaggingPreset object) {
+                return object.evaluate(primitive);
+            }
+        });
+    }
+
     /**
      * Adds a list of tagging presets to the current list.
Index: trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 9264)
+++ trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 9265)
@@ -65,4 +65,6 @@
 import org.openstreetmap.josm.gui.mappaint.Range;
 import org.openstreetmap.josm.gui.mappaint.StyleCache.StyleList;
+import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
+import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
 import org.openstreetmap.josm.io.CachedFile;
 import org.openstreetmap.josm.plugins.PluginHandler;
@@ -1331,4 +1333,13 @@
                         return new ImageIcon(image);
                     }
+                }
+            }
+        }
+
+        // Check if the presets have icons for nodes/relations.
+        if (!OsmPrimitiveType.WAY.equals(primitive.getType())) {
+            for (final TaggingPreset preset : TaggingPresets.getMatchingPresets(primitive)) {
+                if (preset.getIcon() != null) {
+                    return preset.getIcon();
                 }
             }
