 
                 while (tempDate < maxDate)
                 {
-                    removeRangeFromSelection(tempDate, tempDate);
+                    removeDayFromSelection(tempDate);
                     tempDate = addSubtractDays(tempDate, 7);
                 }
             }

            {
                case START_END:
                {
                    removeRangeFromSelection(null, _selectableRange.rangeStart);
                    removeRangeFromSelection(_selectableRange.rangeEnd, null);
                    break;
                }

                case START_ONLY:
                case END_ONLY:
                {
                    removeRangeFromSelection(_selectableRange.rangeEnd,
                                             _selectableRange.rangeStart);
                    break;
                }

                case SINGLE_DATE:
                {
                    removeRangeFromSelection(null, _selectableRange as Date);
                    removeRangeFromSelection(_selectableRange as Date, null);
                    break;
                }
            }

                        else if (event.ctrlKey)
                        {
                            removeSelectionIndicator(colIndex, rowIndex);
                            removeDayFromSelection(newDate);
                        }
                    }
                    else
                    {
                        selectedRangeCount = 0;
                        addSelectionIndicator(colIndex, rowIndex);
                        addToSelected(newDate);
                        setSelectedIndicators();
                    }
                }
            }
