diff --git a/date_api/date_api_ical.inc b/date_api/date_api_ical.inc
index 2ca484e..d6c92b5 100644
--- a/date_api/date_api_ical.inc
+++ b/date_api/date_api_ical.inc
@@ -764,7 +764,7 @@ function date_api_ical_build_rrule($form_values) {
     $ex_dates = array();
     foreach ($form_values['EXDATE'] as $value) {
       if (!empty($value['datetime'])) {
-        $date = !is_object($value['datetime']) ? date_ical_date($value, 'UTC') : $value['datetime'];
+        $date = !is_object($value['datetime']) ? date_ical_date($value, $value['tz']) : $value['datetime'];
         $ex_date = !empty($date) ? date_format($date, DATE_FORMAT_ICAL) . 'Z': '';
         if (!empty($ex_date)) {
           $ex_dates[] = $ex_date;
@@ -784,7 +784,7 @@ function date_api_ical_build_rrule($form_values) {
   if (isset($form_values['RDATE']) && is_array($form_values['RDATE'])) {
     $ex_dates = array();
     foreach ($form_values['RDATE'] as $value) {
-      $date = !is_object($value['datetime']) ? date_ical_date($value, 'UTC') : $value['datetime'];
+      $date = !is_object($value['datetime']) ? date_ical_date($value, $value['tz']) : $value['datetime'];
       $ex_date = !empty($date) ? date_format($date, DATE_FORMAT_ICAL) . 'Z': '';
       if (!empty($ex_date)) {
         $ex_dates[] = $ex_date;
@@ -792,7 +792,7 @@ function date_api_ical_build_rrule($form_values) {
     }
     if (!empty($ex_dates)) {
       sort($ex_dates);
-      $RRULE .= chr(13) . chr(10) . 'RDATE:' . implode(',', $ex_dates);
+      $RRULE .= chr(13) . chr(10) . 'RDATE;' . implode(',', $ex_dates);
     }
   }
   elseif (!empty($form_values['RDATE'])) {
diff --git a/date_repeat/date_repeat.module b/date_repeat/date_repeat.module
index d742dc8..c266ed8 100644
--- a/date_repeat/date_repeat.module
+++ b/date_repeat/date_repeat.module
@@ -319,7 +319,7 @@ function date_repeat_split_rrule($rrule) {
       unset($exceptions['DATA']);
     }
     elseif (strstr($part, 'RDATE')) {
-      $RDATE = str_replace('RDATE:', '', $part);
+      $RDATE = str_replace(array('RDATE:', 'RDATE;'), '', $part);
       $additions = (array) date_ical_parse_exceptions('RDATE:', $RDATE);
       unset($additions['DATA']);
     }
