Index: /trunk/src/org/openstreetmap/josm/data/osm/Node.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 2554)
+++ /trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 2555)
@@ -161,5 +161,5 @@
 
     public int compareTo(OsmPrimitive o) {
-        return o instanceof Node ? Long.valueOf(getId()).compareTo(o.getId()) : 1;
+        return o instanceof Node ? Long.valueOf(getUniqueId()).compareTo(o.getUniqueId()) : 1;
     }
 
Index: /trunk/src/org/openstreetmap/josm/data/osm/Relation.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 2554)
+++ /trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 2555)
@@ -231,5 +231,5 @@
 
     public int compareTo(OsmPrimitive o) {
-        return o instanceof Relation ? Long.valueOf(getId()).compareTo(o.getId()) : -1;
+        return o instanceof Relation ? Long.valueOf(getUniqueId()).compareTo(o.getUniqueId()) : -1;
     }
 
Index: /trunk/src/org/openstreetmap/josm/data/osm/Way.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 2554)
+++ /trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 2555)
@@ -241,5 +241,5 @@
         if (o instanceof Relation)
             return 1;
-        return o instanceof Way ? Long.valueOf(getId()).compareTo(o.getId()) : -1;
+        return o instanceof Way ? Long.valueOf(getUniqueId()).compareTo(o.getUniqueId()) : -1;
     }
 
