Index: date_api_ical.inc
===================================================================
RCS file: /cvs/drupal/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	15 Apr 2009 23:21:09 -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 (isset($form_values['UNTIL']['datetime'])) {
     $until = date_ical_date($form_values['UNTIL'], 'UTC');
     $RRULE .= ';UNTIL='. date_format($until, DATE_FORMAT_ICAL) .'Z';
   }
Index: date/date.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/date/date/date.module,v
retrieving revision 1.61.2.4.2.53
diff -u -p -r1.61.2.4.2.53 date.module
--- date/date.module	19 Mar 2009 23:22:32 -0000	1.61.2.4.2.53
+++ date/date.module	15 Apr 2009 23:21:09 -0000
@@ -446,12 +446,14 @@ function date_form_alter(&$form, &$form_
  */
 function date_field($op, &$node, $field, &$items, $teaser, $page) {
   // Add some information needed to interpret token values.
-  $additions[$field['field_name']] = $items;
-  foreach ($items as $delta => $item) {
-    $timezone = isset($item['timezone']) ? $item['timezone'] : '';
-    $additions[$field['field_name']][$delta]['timezone'] = date_get_timezone($field['tz_handling'], $timezone);
-    $additions[$field['field_name']][$delta]['timezone_db'] = date_get_timezone_db($field['tz_handling']);
-    $additions[$field['field_name']][$delta]['date_type'] = $field['type'];
+  if ($op == 'load' || $op == 'insert' || $op == 'update') {
+    $additions[$field['field_name']] = $items;
+    foreach ($items as $delta => $item) {
+      $timezone = isset($item['timezone']) ? $item['timezone'] : '';
+      $additions[$field['field_name']][$delta]['timezone'] = date_get_timezone($field['tz_handling'], $timezone);
+      $additions[$field['field_name']][$delta]['timezone_db'] = date_get_timezone_db($field['tz_handling']);
+      $additions[$field['field_name']][$delta]['date_type'] = $field['type'];
+    }
   }
   switch ($op) {
     case 'load':
@@ -835,4 +837,4 @@ function date_formatter_get_settings($fi
   $options['multiple']['multiple_to'] = variable_get($value .'_multiple_to', '');
   $options['fromto']['fromto'] = variable_get($value .'_fromto', 'both');  
   return $options;
-}
\ No newline at end of file
+}
