             goToIndex(meridianList, newIndex, listsNewlyCreated);
         }
         
-        dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
+        if (hasEventListener(FlexEvent.VALUE_COMMIT))
+            dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
     }
     
     // modify existing date item spinner list data providers to mark

                        tempDate = new Date(selectedDate.fullYear, newValue.data, 1);
                        cd = new CalendarDate(tempDate);
                        if (dateList.selectedItem.data > cd.numDaysInMonth)
                            newDate.date = cd.numDaysInMonth;
                    }
                    newDate.month = newValue.data;
                    break;

        if (selectedDateModifiedByUser)
        {
            selectedDateModifiedByUser = false;
            if (hasEventListener(Event.CHANGE))
                dispatchEvent(new Event(Event.CHANGE));
        }
    }
    
