Index: trunk/src/org/openstreetmap/josm/data/APIDataSet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/APIDataSet.java	(revision 4103)
+++ trunk/src/org/openstreetmap/josm/data/APIDataSet.java	(revision 4104)
@@ -72,4 +72,5 @@
         sortDeleted();
         sortNew();
+        sortUpdated();
     }
 
@@ -133,4 +134,32 @@
         );
     }
+    /* 
+     * Sort list of updated elements, so it looks neat in the confirmation dialog.
+     */
+    protected void sortUpdated() {
+        Collections.sort(
+                toUpdate,
+                new Comparator<OsmPrimitive>() {
+                    public int compare(OsmPrimitive o1, OsmPrimitive o2) {
+                        if (o1 instanceof Node && o2 instanceof Node)
+                            return 0;
+                        else if (o1 instanceof Node)
+                            return -1;
+                        else if (o2 instanceof Node)
+                            return 1;
+
+                        if (o1 instanceof Way && o2 instanceof Way)
+                            return 0;
+                        else if (o1 instanceof Way && o2 instanceof Relation)
+                            return -1;
+                        else if (o2 instanceof Way && o1 instanceof Relation)
+                            return 1;
+
+                        return 0;
+                    }
+                }
+        );
+    }
+    
     /**
      * initializes the API data set with the modified primitives in <code>ds</code>
