Index: /trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java	(revision 3256)
+++ /trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java	(revision 3257)
@@ -12,4 +12,5 @@
 import javax.swing.tree.MutableTreeNode;
 
+import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.PrimitiveData;
@@ -31,7 +32,18 @@
         }
 
+        // Load nodes first to prevent ways with null coordinates
         for (int i=0; i<createdPrimitives.size(); i++) {
-            createdPrimitives.get(i).load(data.get(i));
+            if (createdPrimitives.get(i) instanceof Node) {
+                createdPrimitives.get(i).load(data.get(i));
+            }
         }
+
+        // Now load ways and relations
+        for (int i=0; i<createdPrimitives.size(); i++) {
+            if (!(createdPrimitives.get(i) instanceof Node)) {
+                createdPrimitives.get(i).load(data.get(i));
+            }
+        }
+
         getLayer().data.setSelected(createdPrimitives);
         return true;
