                 if (isDropDownOpen)
                     changeHighlightedSelection(matchingIndex);
                 else
-                    selectedIndex = matchingIndex; 
+                    setSelectedIndex(matchingIndex, true); 
                 
                 return true;
             }

        
        if (!event.isDefaultPrevented())
        {
            selectedIndex = userProposedSelectedIndex;  
        }
        else
        {

                proposedNewIndex = Math.min(proposedNewIndex, maxIndex);
                
                if (proposedNewIndex >= 0)
                    setSelectedIndex(proposedNewIndex, true);
            }
        }
        else
