             }
             else // DATE_AND_TIME mode
             {
-                newIndex = findDateIndex(selectedDate, dateList.dataProvider);
+                newIndex = dateList.dataProvider.getItemIndex( generateDateItemObject(dayMonthDateFormatter.format(selectedDate), selectedDate.time) );
                 goToIndex(dateList, newIndex, listsNewlyCreated);
             }
         }

        {
            if (displayMode == DateSelectorDisplayMode.DATE_AND_TIME)
            {
                dateList.dataProvider = new DateAndTimeRangeList(minDate, maxDate,
                    localeStr, today, getStyle("accentColor"));
                
                // set size to longest string
                if (!longestDateItem)

                curObj = listData[i];
                if (curObj[SpinnerList.ENABLED_PROPERTY_NAME] != newEnabledValue)
                {
                    o = generateDateItemObject(curObj.label, curObj.data, newEnabledValue);
                    o["accentColor"] = curObj["accentColor"];
                    listData[i] = o;
                }
