                 indices[i] = dataProvider.getItemIndex(value[i]);
         }
         
-        selectedIndices = value;
+        selectedIndices = indices;
     }
         
     //--------------------------------------------------------------------------

                    //and that item was de-selected
                    if (selectedIndices.length == 1 && (selectedIndices[0] == index))
                    {
                        //selectedIndex = NO_SELECTION;
                        return [NO_SELECTION];  
                    }
                    else

     */
    override public function get selectedIndex():int
    {   
        if (!allowMultipleSelection || !_selectedIndices)
            return super.selectedIndex;
            
        if (_selectedIndices && _selectedIndices.length > 0)
