             {
                 setSelectedIndices(calculateSelectedIndices(mouseDownIndex, pendingSelectionShiftKey, pendingSelectionCtrlKey), true);
             }
-            else if (getStyle("inputMode") == "touch" && selectedIndex == NO_SELECTION)
+            else if (getStyle("inputMode") == "touch")
             {
                 setSelectedIndex(mouseDownIndex, true);
             }

     *  If <code>true</code> multiple selection is enabled. 
     *  When switched at run time, the current selection
     *  is cleared. 
     *
     *  @default false
     *  

    {
        if (getStyle("inputMode") == "touch")
        {
            // if we could be selecting, only show selection for that one item...don't even show
            // it for the actual selectedIndex
            if (pendingSelectionOnMouseUp && mouseDownSelectTimer && !mouseDownSelectTimer.running)
                return mouseDownIndex == index;
        }
        
        return isItemIndexSelected(index);
