     /**
      *  @private
      */
-    private var _userProposedSelectedIndex:Number = -1;
+    private var _userProposedSelectedIndex:Number = NO_SELECTION;
     
     /**
      *  @private

        }   
    }
    
    //--------------------------------------------------------------------------
    //
    //  Event handlers

            if (!NavigationUnit.isNavigationUnit(navigationUnit))
                return;

            var proposedNewIndex:int = NO_SELECTION;
            var currentIndex:int;
            
            if (dropDownController.isOpen)
            {   
                // Normalize the proposed index for getNavigationDestinationIndex
                currentIndex = userProposedSelectedIndex < NO_SELECTION ? NO_SELECTION : userProposedSelectedIndex;
                proposedNewIndex = layout.getNavigationDestinationIndex(currentIndex, navigationUnit, arrowKeysWrapFocus);
                
                if (proposedNewIndex != NO_SELECTION)
                {
                    changeHighlightedSelection(proposedNewIndex);
                    event.preventDefault();
                }
            }
            else if (dataProvider)
            {
                // Normalize the proposed index for getNavigationDestinationIndex
                currentIndex = selectedIndex < NO_SELECTION ? NO_SELECTION : selectedIndex;
                
                // FIXME (jszeto) : SDK-24036 Add arrowKeysWrapFocus support
                
                switch (navigationUnit)
                {
                    case NavigationUnit.UP:
                    {
                        proposedNewIndex = currentIndex - 1;  
                        event.preventDefault();
                        break;
                    }                      
        
                    case NavigationUnit.DOWN:
                    {
                        proposedNewIndex = currentIndex + 1;  
                        event.preventDefault();
                        break;
                    }
                        
                    case NavigationUnit.PAGE_UP:
                    {
                        proposedNewIndex = currentIndex == NO_SELECTION ? 
                            NO_SELECTION : Math.max(currentIndex - PAGE_SIZE, 0);
                        event.preventDefault();
                        break;
                    }
                        
                    case NavigationUnit.PAGE_DOWN:
                    {    
                        proposedNewIndex = currentIndex == NO_SELECTION ?
                                           PAGE_SIZE : (currentIndex + PAGE_SIZE);
                        event.preventDefault();
                        break;
                    }
