Index: /trunk/src/org/openstreetmap/josm/data/osm/Relation.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 7090)
+++ /trunk/src/org/openstreetmap/josm/data/osm/Relation.java	(revision 7091)
@@ -535,9 +535,6 @@
     protected void keysChangedImpl(Map<String, String> originalKeys) {
         super.keysChangedImpl(originalKeys);
-        // fix #8346 - Clear style cache for multipolygon members after a tag change
-        if (isMultipolygon()) {
-            for (OsmPrimitive member : getMemberPrimitives()) {
-                member.clearCachedStyle();
-            }
+        for (OsmPrimitive member : getMemberPrimitives()) {
+            member.clearCachedStyle();
         }
     }
Index: /trunk/src/org/openstreetmap/josm/data/osm/Way.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 7090)
+++ /trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 7091)
@@ -8,4 +8,5 @@
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
@@ -734,3 +735,12 @@
         return false;
     }
+
+    @Override
+    protected void keysChangedImpl(Map<String, String> originalKeys) {
+        super.keysChangedImpl(originalKeys);
+        for (final Node n : nodes) {
+            n.clearCachedStyle();
+        }
+    }
+    
 }
