Index: /trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java	(revision 12295)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java	(revision 12296)
@@ -1824,9 +1824,20 @@
          */
         public boolean put(Collection<? extends SourceEntry> entries) {
+            Collection<Map<String, String>> setting = serializeList(entries);
+            boolean unset = Main.pref.getListOfStructs(pref, (Collection<Map<String, String>>) null) == null;
+            if (unset) {
+                Collection<Map<String, String>> def = serializeList(getDefault());
+                if (setting.equals(def))
+                    return false;
+            }
+            return Main.pref.putListOfStructs(pref, setting);
+        }
+
+        private Collection<Map<String, String>> serializeList(Collection<? extends SourceEntry> entries) {
             Collection<Map<String, String>> setting = new ArrayList<>(entries.size());
             for (SourceEntry e : entries) {
                 setting.add(serialize(e));
             }
-            return Main.pref.putListOfStructs(pref, setting);
+            return setting;
         }
 
