Index: date_api_ical.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/date/date_api_ical.inc,v
retrieving revision 1.35.4.26
diff -u -p -r1.35.4.26 date_api_ical.inc
--- date_api_ical.inc	21 Feb 2009 12:53:25 -0000	1.35.4.26
+++ date_api_ical.inc	25 Mar 2009 05:30:33 -0000
@@ -649,7 +649,7 @@ function date_api_ical_build_rrule($form
     $RRULE .= ';BYMONTHDAY='. $BYMONTHDAY;
   }
   // The UNTIL date is supposed to always be expressed in UTC.
-  if (array_key_exists('UNTIL', $form_values) && array_key_exists('datetime', $form_values['UNTIL'])) {
+  if (array_key_exists('UNTIL', $form_values) && array_key_exists('datetime', $form_values['UNTIL']) && $form_values['UNTIL']['datetime'] != NULL) {
     $until = date_ical_date($form_values['UNTIL'], 'UTC');
     $RRULE .= ';UNTIL='. date_format($until, DATE_FORMAT_ICAL) .'Z';
   }
Index: date/date_repeat.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/date/date/date_repeat.inc,v
retrieving revision 1.22.2.1.2.22
diff -u -p -r1.22.2.1.2.22 date_repeat.inc
--- date/date_repeat.inc	21 Feb 2009 12:53:25 -0000	1.22.2.1.2.22
+++ date/date_repeat.inc	25 Mar 2009 05:30:33 -0000
@@ -76,9 +76,6 @@ function _date_repeat_widget_validate($e
   if (empty($values['UNTIL']['datetime'])) {
     form_set_error($error_field, t('The UNTIL value is required for repeating dates.'));
   }
-  if (form_get_errors()) {
-    return;
-  }
 
   // If the rule, the start date, or the end date have changed, re-calculate
   // the repeating dates, wipe out the previous values, and populate the
