             mouseDownCancelledFromScroll = true;
             
             // remove visual selection indicator
-            mouseDownSelectTimer.stop();
+            if (mouseDownSelectTimer)
+                mouseDownSelectTimer.stop();
             mouseDownSelectTimer = null;
+            
+            // unselect what we thought was selected
             itemSelected(mouseDownIndex, false);
+            
+            // reselect what actually is selected
+            if (selectedIndex != NO_SELECTION)
+            {
+                itemSelected(selectedIndex, true);
+            }
+            
             mouseDownIndex = -1;
             mouseDownPoint = null;
             pendingSelectionOnMouseUp = false;

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

        {
            // select item visually now
            itemSelected(mouseDownIndex, true);
            
            // deselect old selected item
            if (selectedIndex != NO_SELECTION)
            {
                itemSelected(selectedIndex, false);
            }
        }
    }

