Index: src/org/openstreetmap/josm/gui/annotation/AnnotationPreset.java
===================================================================
--- src/org/openstreetmap/josm/gui/annotation/AnnotationPreset.java	(revision 254)
+++ src/org/openstreetmap/josm/gui/annotation/AnnotationPreset.java	(revision 255)
@@ -35,4 +35,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.tools.GBC;
+import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.XmlObjectParser;
 import org.xml.sax.SAXException;
@@ -54,5 +55,5 @@
 		boolean requestFocusInWindow() {return false;}
 	}
-	
+
 	public static class Text extends Item {
 		public String key;
@@ -81,5 +82,5 @@
 		public String text;
 		public boolean default_ = false;
-		
+
 		private JCheckBox check = new JCheckBox();
 
@@ -143,7 +144,7 @@
 
 	/**
-     * The types as preparsed collection.
-     */
-    public Collection<Class<?>> types;
+	 * The types as preparsed collection.
+	 */
+	public Collection<Class<?>> types;
 	private List<Item> data = new LinkedList<Item>();
 
@@ -166,8 +167,13 @@
 	 * Called from the XML parser to set the icon
 	 */
-	public void setIcon(String icon) {
-		putValue(Action.SMALL_ICON, new ImageIcon(new ImageIcon(icon).getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
-	}
-	
+	public void setIcon(String iconName) {
+		ImageIcon icon = ImageProvider.getIfAvailable(null, iconName);
+		if (icon == null)
+			icon = new ImageIcon(iconName);
+		if (Math.max(icon.getIconHeight(), icon.getIconWidth()) != 24)
+			icon = new ImageIcon(icon.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH));
+		putValue(Action.SMALL_ICON, icon);
+	}
+
 	/**
 	 * Called from the XML parser to set the types, this preset affects
@@ -186,5 +192,5 @@
 		}
 	}
-	
+
 	public static List<AnnotationPreset> readAll(InputStream inStream) throws SAXException {
 		BufferedReader in = null;
Index: src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 254)
+++ src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 255)
@@ -69,5 +69,7 @@
 		if (name == null)
 			return null;
-		if (subdir == null || subdir != "")
+		if (subdir == null)
+			subdir = "";
+		else
 			subdir += "/";
 		String ext = name.indexOf('.') != -1 ? "" : ".png";
