Index: trunk/src/org/openstreetmap/josm/actions/upload/FixDataHook.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/upload/FixDataHook.java	(revision 8178)
+++ trunk/src/org/openstreetmap/josm/actions/upload/FixDataHook.java	(revision 8179)
@@ -166,5 +166,6 @@
         @Override
         public boolean fixKeys(Map<String, String> keys, OsmPrimitive osm) {
-            if(oldValue.equals(keys.get(oldKey)) && (newKey.equals(oldKey) || !keys.containsKey(newKey))) {
+            if(oldValue.equals(keys.get(oldKey)) && (newKey.equals(oldKey)
+            || !keys.containsKey(newKey) || keys.get(newKey).equals(newValue))) {
                 keys.put(newKey, newValue);
                 if(!newKey.equals(oldKey))
