Index: /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java	(revision 4682)
+++ /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java	(revision 4683)
@@ -295,5 +295,8 @@
                     List<Way> waysToJoin = new ArrayList<Way>();
                     for (Iterator<Long> it = wayIds.iterator(); it.hasNext(); ) {
-                        waysToJoin.add((Way) ds.getPrimitiveById(it.next(), OsmPrimitiveType.WAY));
+                        Way w = (Way) ds.getPrimitiveById(it.next(), OsmPrimitiveType.WAY);
+                        if (w != null && w.getNodesCount() > 0) { // fix #7173 (empty ways on purge)
+                            waysToJoin.add(w);
+                        }
                     }
                     nodes.addAll(joinWays(waysToJoin).iterator().next().getNodes());
