diff --git a/structr-core/src/main/java/org/structr/core/graph/GraphObjectModificationState.java b/structr-core/src/main/java/org/structr/core/graph/GraphObjectModificationState.java
index <HASH>..<HASH> 100644
--- a/structr-core/src/main/java/org/structr/core/graph/GraphObjectModificationState.java
+++ b/structr-core/src/main/java/org/structr/core/graph/GraphObjectModificationState.java
@@ -192,7 +192,11 @@ public class GraphObjectModificationState implements ModificationEvent {
 			}
 		}
 
-		updateCache();
+		// only update cache if key, prev and new values are null
+		// because that's when a relationship has been created / removed
+		if (key == null && previousValue == null && newValue == null) {
+			updateCache();
+		}
 	}
 
 	public void delete(boolean passive) {
Modified GraphObjectModificationState to clear permission path cache only on actual
changes to the path.