Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/MultipolygonCache.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/MultipolygonCache.java	(revision 4731)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/MultipolygonCache.java	(revision 4732)
@@ -238,11 +238,10 @@
                 }
                 for (Map<Relation, Multipolygon> map : maps) {
-                    Multipolygon mp = map.get(p);
-                    // DataChangedEvent is sent after downloading incomplete members,
+                    // DataChangedEvent is sent after downloading incomplete members (see #7131),
                     // without having received RelationMembersChangedEvent or PrimitivesAddedEvent
-                    if (mp != null && mp.isIncomplete()) {
-                        // This ensures previously incomplete multipolygons will be correctly redrawn
-                        map.remove(p);
-                    }
+                    // OR when undoing a move of a large number of nodes (see #7195),
+                    // without having received NodeMovedEvent
+                    // This ensures concerned multipolygons will be correctly redrawn
+                    map.remove(p);
                 }
             }
