Index: /trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/AbstractDefaultGUIElement.java
===================================================================
--- /trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/AbstractDefaultGUIElement.java	(revision 1384)
+++ /trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/AbstractDefaultGUIElement.java	(revision 1385)
@@ -61,5 +61,5 @@
      * </p>
      */
-    boolean usageObserved;
+    private boolean usageObserved;
 
     /**
@@ -222,5 +222,16 @@
      */
     void setParent(IGUIElement newParent) {
-        this.parent = newParent;
+        synchronized (AbstractDefaultGUIElement.class) {
+            // all equal GUI elements must have the same parent. Otherwise, they are not equal
+            // anymore and we would have discrepancies on the return value of getParent() on
+            // equal GUI elements.
+            this.parent = newParent;
+            if (equalGUIElements != null) {
+                for (AbstractDefaultGUIElement candidate : equalGUIElements) {
+                    candidate.parent = newParent;
+                }
+            }
+        }
+
     }
 
