             // They are made as they become the selected child.
             uiChild.visible = false;
         }
+        if (child is INavigatorContent)
+        {
+            child.addEventListener("labelChanged", navigatorChildChangedHandler);
+            child.addEventListener("iconChanged", navigatorChildChangedHandler);
+        }
 
         // If we just created the first child and no selected index has
         // been proposed, then propose this child to be selected.


        // Performance optimization: don't call createComponents if we know
        // that createComponents has already been called.
        if (selectedChild && selectedChild.numChildrenCreated == -1)
        {
            if (initialized)  // Only listen if the ViewStack has already been initialized.
                selectedChild.addEventListener(FlexEvent.CREATION_COMPLETE,childCreationCompleteHandler);
            selectedChild.createComponentsFromDescriptors(true);
        }

        // Do the initial measurement/layout pass for the

        // Remember which child has an overlay, so that we don't inadvertently
        // create an overlay on one child and later try to remove the overlay
        // of another child. (bug 100731)
        overlayChild = (selectedChild as UIComponent);
        if (!overlayChild)
            return;

