Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java	(revision 3264)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java	(revision 3265)
@@ -8,4 +8,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.NodeData;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.PrimitiveData;
@@ -164,8 +165,18 @@
             hull.getPrimitiveById(primitive, true);
         }
-        // Then fill them with data
+        // Then fill nodes with data
         for (PrimitiveData primitive : mappedPrimitives.values()) {
-            if (!primitive.isIncomplete()) {
-                hull.getPrimitiveById(primitive).load(primitive);
+            if (primitive instanceof NodeData) {
+                if (!primitive.isIncomplete()) {
+                    hull.getPrimitiveById(primitive).load(primitive);
+                }
+            }
+        }
+        // Then ways and relations
+        for (PrimitiveData primitive : mappedPrimitives.values()) {
+            if (!(primitive instanceof NodeData)) {
+                if (!primitive.isIncomplete()) {
+                    hull.getPrimitiveById(primitive).load(primitive);
+                }
             }
         }
