Index: trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 4852)
+++ trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 4853)
@@ -23,4 +23,5 @@
 import org.openstreetmap.gui.jmapviewer.tilesources.OsmTileSource.Mapnik;
 import org.openstreetmap.gui.jmapviewer.tilesources.AbstractTileSource;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 
 /**
@@ -187,4 +188,6 @@
 
     public ImageryInfo(ImageryPreferenceEntry e) {
+        CheckParameterUtil.ensureParameterNotNull(e.name, "name");
+        CheckParameterUtil.ensureParameterNotNull(e.url, "url");
         name = e.name;
         url = e.url;
@@ -197,4 +200,5 @@
             }
         }
+        if (imageryType == null) throw new IllegalArgumentException("unkown type");
         pixelPerDegree = e.pixel_per_eastnorth;
         defaultMaxZoom = e.max_zoom;
Index: trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 4852)
+++ trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 4853)
@@ -52,6 +52,10 @@
         } else {
             for (ImageryPreferenceEntry prefEntry : entries) {
-                ImageryInfo i = new ImageryInfo(prefEntry);
-                add(i);
+                try {
+                    ImageryInfo i = new ImageryInfo(prefEntry);
+                    add(i);
+                } catch (IllegalArgumentException e) {
+                    System.err.println("Warning: Unable to load imagery preference entry:"+e);
+                }
             }
             Collections.sort(layers);
