Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 8709)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 8710)
@@ -153,8 +153,11 @@
     /**
      * Called from the XML parser to set the icon.
-     * This task is performed in the background in order to speedup startup.
+     * The loading task is performed in the background in order to speedup startup.
      */
     public void setIcon(final String iconName) {
         this.iconName = iconName;
+        if (!TaggingPresetReader.isLoadIcons()) {
+            return;
+        }
         File arch = TaggingPresetReader.getZipIcons();
         final Collection<String> s = Main.pref.getCollection("taggingpreset.icon.sources", null);
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java	(revision 8709)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java	(revision 8710)
@@ -1465,4 +1465,7 @@
 
     public static Set<TaggingPresetType> getType(String types) throws SAXException {
+        if (types == null || types.isEmpty()) {
+            throw new SAXException(tr("Unknown type: {0}", types));
+        }
         if (TYPE_CACHE.containsKey(types))
             return TYPE_CACHE.get(types);
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetReader.java	(revision 8709)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetReader.java	(revision 8710)
@@ -51,4 +51,5 @@
 
     private static volatile File zipIcons = null;
+    private static volatile boolean loadIcons = true;
 
     /**
@@ -388,3 +389,17 @@
         return zipIcons;
     }
+
+    /**
+     * Returns true if icon images should be loaded.
+     */
+    public static boolean isLoadIcons() {
+        return loadIcons;
+    }
+
+    /**
+     * Sets whether icon images should be loaded.
+     */
+    public static void setLoadIcons(boolean loadIcons) {
+        TaggingPresetReader.loadIcons = loadIcons;
+    }
 }
