     {
         super.commitProperties();
         
+        // Do not commit position changes if closed (no owner) or owner was 
+        // removed from the display list.
+        if (!owner || !owner.parent)
+            return;
+        
         // Compute actual positions when using AUTO
         commitAutoPosition();
         

    {
        var ownerVisualElement:IVisualElement = owner as IVisualElement;

        if (!arrow || (arrowDirection == ArrowDirection.NONE))
            return;

        var isStartPosition:Boolean = false;

            
            return;
        }

        var ownerBounds:Rectangle = owner.getBounds(systemManager.getSandboxRoot());

