                     {
                         //we need to respect requiresSelection 
                         if (!requiresSelection)
-                            return [NO_SELECTION];
-                        else return [selectedIndices[0]]; 
+                            return [];
+                        else 
+                            return [selectedIndices[0]]; 
                     }
                     else
                     {

        if (!_allowMultipleSelection)
        {
            if (!requiresSelection)
                _proposedSelectedIndices = [NO_SELECTION];
            else 
                _proposedSelectedIndices = [0];
            commitMultipleSelection(); 

        //properties stay in sync. 
        if (!_selectedIndices && _selectedIndex >= 0)
        {
            selectedIndices = [_selectedIndex]; 
            return _selectedIndex; 
        }
            
