diff --git a/date_repeat/date_repeat.module b/date_repeat/date_repeat.module
index d6cb25b..b03f31d 100644
--- a/date_repeat/date_repeat.module
+++ b/date_repeat/date_repeat.module
@@ -244,14 +244,18 @@ function date_repeat_rrule_description($rrule, $format = 'D M d Y') {
   if ($exceptions) {
     $values = array();
     foreach ($exceptions as $exception) {
-      $values[] = date_format_date(date_ical_date($exception), 'custom', $format);
+      $exception = date_ical_date($exception, 'UTC');
+      date_timezone_set($exception, date_default_timezone());
+      $values[] = date_format_date($exception, 'custom', $format);
     }
     $description['!except'] = trim(t('!repeats_every_interval except !except_dates', array('!repeats_every_interval ' => '', '!except_dates' => implode(', ', $values))));
   }
   if ($additions) {
     $values = array();
     foreach ($additions as $addition) {
-      $values[] = date_format_date(date_ical_date($addition), 'custom', $format);
+      $addition = date_ical_date($addition, 'UTC');
+      date_timezone_set($addition, date_default_timezone());
+      $values[] = date_format_date($addition, 'custom', $format);
     }
     $description['!additional'] = trim(t('Also includes !additional_dates.', array('!additional_dates' => implode(', ', $values))));
   }
diff --git a/date_repeat/date_repeat_form.inc b/date_repeat/date_repeat_form.inc
index 16dc9cb..67cc831 100644
--- a/date_repeat/date_repeat_form.inc
+++ b/date_repeat/date_repeat_form.inc
@@ -174,7 +174,9 @@ function _date_repeat_rrule_process($element, $edit, $form_state, $form) {
   for ($i = 0; $i <= $max; $i++) {
     $EXCEPT = '';
     if (!empty($exceptions[$i]['datetime'])) {
-      $EXCEPT = $exceptions[$i]['datetime'];
+      $except_date = date_make_date($exceptions[$i]['datetime'], $exceptions[$i]['tz']);
+      date_timezone_set($except_date, timezone_open($timezone));
+      $EXCEPT = date_format($except_date, DATE_FORMAT_DATETIME);
     }
     $element['exceptions']['EXDATE'][$i] = array(
       '#tree' => TRUE,
@@ -207,7 +209,9 @@ function _date_repeat_rrule_process($element, $edit, $form_state, $form) {
   for ($i = 0; $i <= $max; $i++) {
     $RDATE = '';
     if (!empty($additions[$i]['datetime'])) {
-      $RDATE = $additions[$i]['datetime'];
+      $addition_date = date_make_date($additions[$i]['datetime'], $additions[$i]['tz']);
+      date_timezone_set($addition_date, timezone_open($timezone));
+      $RDATE = date_format($addition_date, DATE_FORMAT_DATETIME);
     }
     $element['additions']['RDATE'][$i] = array(
       '#tree' => TRUE,
@@ -404,4 +408,4 @@ function theme_date_repeat_current_additions($rows = array()) {
  */
 function theme_date_repeat($element) {
   return theme('form_element', $element, '<div class="container-inline">'. drupal_render($element) . '</div>');
-}
\ No newline at end of file
+}
