Index: trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 11706)
+++ trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 11707)
@@ -231,5 +231,5 @@
                 boolean isKnownDefault = false;
                 for (String entry : knownDefaults) {
-                    if (isSimilar(entry, def.getId())) {
+                    if (entry.equals(def.getId())) {
                         isKnownDefault = true;
                         newKnownDefaults.add(entry);
@@ -238,5 +238,7 @@
                     } else if (isSimilar(entry, def.getUrl())) {
                         isKnownDefault = true;
-                        newKnownDefaults.add(def.getId());
+                        if (def.getId() != null) {
+                            newKnownDefaults.add(def.getId());
+                        }
                         knownDefaults.remove(entry);
                         break;
@@ -247,12 +249,12 @@
                     if (def.getId() != null) {
                         newKnownDefaults.add(def.getId());
+                        for (ImageryInfo i : layers) {
+                            if (isSimilar(def, i)) {
+                                isInUserList = true;
+                                break;
+                            }
+                        }
                     } else {
-                        newKnownDefaults.add(def.getUrl());
-                    }
-                    for (ImageryInfo i : layers) {
-                        if (isSimilar(def, i)) {
-                            isInUserList = true;
-                            break;
-                        }
+                        Main.error("Default imagery ''{0}'' has no id. Skipping.", def.getName());
                     }
                 }
