         // such as when a TabBar is inside a TabNavigator.
         if (event.target == this)
             return;
+        
+        // Remove listeners for this child
+        event.relatedObject.removeEventListener("labelChanged", labelChangedHandler);
+        event.relatedObject.removeEventListener("iconChanged", iconChangedHandler);
+        event.relatedObject.removeEventListener("enabledChanged", enabledChangedHandler);
+        event.relatedObject.removeEventListener("toolTipChanged", toolTipChangedHandler); 
 
         var viewStack:ViewStack = ViewStack(event.target);
         removeChildAt(viewStack.getChildIndex(event.relatedObject));


            targetStack.removeEventListener(
                IndexChangedEvent.CHILD_INDEX_CHANGE, childIndexChangeHandler);
        }

        // Clear out the current links

				"controls", "errWrongContainer", [ id ]);
            throw new Error(message);
        }
		
        if (_dataProvider)
        {
            // use weak reference
            _dataProvider.removeEventListener(CollectionEvent.COLLECTION_CHANGE,
                                              collectionChangeHandler);
        }

        // If value is a string, try to resolve here.
        // If value is a ViewStack name, document[value] may not be defined yet.
