--- date_repeat_form.inc	2009-04-03 17:18:29.262148474 +0200
+++ date_repeat_form.inc.new	2009-04-03 17:18:14.725239973 +0200
@@ -227,6 +227,11 @@ function date_repeat_merge($form_values,
         $exdate_element['#value'] = $form_values['EXDATE'][$delta]['datetime'];
         $form_values['EXDATE'][$delta]['datetime'] = $function($exdate_element);
       }
+      if (is_array($value['datetime']) && 
+          !array_key_exists('date', $value['datetime']) && 
+          isset($value['datetime']['year'])) {
+        $form_values['EXDATE'][$delta]['datetime'] = date_convert($value['datetime'], DATE_ARRAY, DATE_DATETIME);
+      }
     }
   }
   return $form_values;
@@ -240,6 +245,11 @@ function date_repeat_rrule_validate($ele
   $form_values = $form_state['values'];
   $field_name = $element['#parents'][0];
   $item = $form_values[$field_name]['rrule'];
+  if($element['#tree']) {
+    foreach($element['#parents'] as $v) {
+      $form_values = $form_values[$v];
+    }
+  }
   $item = date_repeat_merge($item, $element);
   $rrule = date_api_ical_build_rrule($item);
   form_set_value($element, $rrule, $form_state);
