         var oldItem:Object = removeElementAt(index);
         addElementAt(item as ViewNavigatorBase, index);
         
+        // Let the navigator know that the item at the selectedIndex changed.
+        // The commitProperties method will pick this up.
+        if (index == selectedIndex)
+        {
+            selectedIndexAdjusted = true;
+            invalidateProperties();
+        }
+        
         if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
         {
             var updateInfo:PropertyChangeEvent;

            
            if (_selectedIndex >= 0)
            {
                navigator = getElementAt(_selectedIndex) as ViewNavigatorBase;
                navigator.setActive(true);
                navigator.visible = true;

                    navigator.activeView.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, 
                                                            view_propertyChangeHandler);
                }
            }

            selectedIndexAdjusted = false;
