Index: trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateWay.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateWay.java	(revision 5699)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateWay.java	(revision 5700)
@@ -35,4 +35,8 @@
 {
 
+    /**
+      * Class to store a way reduced to coordinates and keys. Essentially this is used to call the
+      * <code>equals{}</code> function.
+      */
     private static class WayPair {
         public List<LatLon> coor;
@@ -57,4 +61,8 @@
     }
 
+    /**
+      * Class to store a way reduced to coordinates. Essentially this is used to call the
+      * <code>equals{}</code> function.
+      */
     private static class WayPairNoTags {
         public List<LatLon> coor;
@@ -74,5 +82,7 @@
     }
 
+    /** Test identification for exactly identical ways (coordinates and tags). */
     protected static final int DUPLICATE_WAY = 1401;
+    /** Test identification for identical ways (coordinates only). */
     protected static final int SAME_WAY = 1402;
 
@@ -93,5 +103,4 @@
                 tr("This test checks that there are no ways with same node coordinates and optionally also same tags."));
     }
-
 
     @Override
@@ -145,9 +154,11 @@
 
     /**
-     * Remove uninteresting keys, like created_by to normalize the tags
+     * Remove uninteresting discardable keys to normalize the tags
      * @param wkeys The tags of the way, obtained by {@code Way#getKeys}
      */
     public void removeUninterestingKeys(Map<String, String> wkeys) {
-        wkeys.remove("created_by");
+        for(String key : OsmPrimitive.getDiscardableKeys()) {
+            wkeys.remove(key);
+        }
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java	(revision 5699)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java	(revision 5700)
@@ -253,6 +253,8 @@
             cmds.addAll(buildTagChangeCommand(targetPrimitive, allResolutions));
         }
-        if (targetPrimitive.get("created_by") != null) {
-            cmds.add(new ChangePropertyCommand(targetPrimitive, "created_by", null));
+        for(String p : targetPrimitive.getDiscardableKeys()) {
+            if (targetPrimitive.get(p) != null) {
+                cmds.add(new ChangePropertyCommand(targetPrimitive, p, null));
+            }
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolutionUtil.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolutionUtil.java	(revision 5699)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolutionUtil.java	(revision 5700)
@@ -33,5 +33,7 @@
         // remove irrelevant tags
         //
-        tc.removeByKey("created_by");
+        for(String key : OsmPrimitive.getDiscardableKeys()) {
+            tc.removeByKey(key);
+        }
 
         int numNodesWithTags = 0;
