                 }
             }
         }
-        selectedIndices = newInterval;
+        _selectedIndices = newInterval;
+        _selectedIndex = (newInterval.length > 0) ? newInterval[newInterval.length - 1] : -1;  
+        // If the selection properties have been adjusted to account for items that
+        // have been added or removed, send out a "selectionChanged" event so
+        // any bindings to them are updated correctly.
+        var e:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.SELECTION_CHANGED);
+        e.multipleSelectionChange = true; 
+        dispatchEvent(e);
     }
     
     /**

    {
        var i:int; 
        var curr:Number; 
        var newInterval:Array = []; 
        
        if (selectedIndex == NO_SELECTION || doingWholesaleChanges)
            return;

                itemSelected(addedItems[i], true);
            }
        }
         
        //Dispatch the selectionChanged event
        var e:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.SELECTION_CHANGED);
        e.multipleSelectionChange = true; 
