     private function itemEditorItemEditBeginHandler(event:ListEvent):void
     {
         // trace("listening for deactivate");
-        // weak reference to stage
-        stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
+
+        // weak reference to stage or systemManager
+		if (root)	// we're on the display list
+    		systemManager.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
 
         if (!event.isDefaultPrevented() && listItems[actualRowIndex][actualColIndex].data != null)
         {

import mx.events.ScrollEventDetail;
import mx.managers.IFocusManager;
import mx.managers.IFocusManagerComponent;
import mx.styles.StyleManager;
import mx.collections.ItemWrapper;
import mx.collections.ModifiedCollectionView;

        DisplayObject(itemEditorInstance).addEventListener(KeyboardEvent.KEY_DOWN, editorKeyDownHandler);
        // we disappear on any mouse down outside the editor
        // use weak reference
        systemManager.addEventListener(MouseEvent.MOUSE_DOWN, editorMouseDownHandler, true, 0, true);

    }

