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

            return;

        var currentIndex:Number; 
        if (allowMultipleSelection && selectedIndices && selectedIndices.length > 0)
            currentIndex = selectedIndices[selectedIndices.length - 1]; 
        else
            currentIndex = selectedIndex;
            
        //Delegate to the layout to tell us what the next item is we should select or focus into.
	    // TODO (jszeto) At some point we should refactor this so we don't depend on layout
	    // for keyboard handling. If layout doesn't exist, then use some other keyboard handler
        var proposedNewIndex:int = (selectUponNavigation) ? layout.getDestinationIndex(navigationUnit, currentIndex)
            : layout.getDestinationIndex(navigationUnit, currentCaretIndex);   

        // Note that the KeyboardEvent is canceled even if the current selected or in focus index
        // doesn't change because we don't want another component to start handling these

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