Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 3618)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(working copy)
@@ -412,22 +412,24 @@
             tf.getAutoCompletionList().add(Arrays.asList(display_array), AutoCompletionItemPritority.IS_IN_STANDARD);
             combo.setEditor(tf);
 
-            if (usage.hasUniqueValue() && !usage.unused()){
-                originalValue=usage.getFirst();
+            if (usage.hasUniqueValue()) {
+                // all items have the same value (and there were no unset items)
+                originalValue = usage.getFirst();
                 combo.setSelectedItem(lhm.get(originalValue));
             }
-            // use default only in case it is a totally new entry
-            else if(def != null && !usage.hadKeys()) {
+            else if (def != null && usage.unused()) {
+                // use default in case all items were unset
                 combo.setSelectedItem(def);
-                originalValue=DIFFERENT;
+                originalValue = DIFFERENT;
             }
-            else if(usage.unused()){
+            else if (usage.unused()) {
+                // all items were unset (and so is default)
                 combo.setSelectedItem("");
-                originalValue="";
+                originalValue = "";
             }
-            else{
+            else {
                 combo.setSelectedItem(DIFFERENT);
-                originalValue=DIFFERENT;
+                originalValue = DIFFERENT;
             }
 
             if(locale_text == null) {
