diff --git a/date/date_repeat.inc b/date/date_repeat.inc
index 13f5f94..79aa97b 100644
--- a/date/date_repeat.inc
+++ b/date/date_repeat.inc
@@ -183,7 +183,7 @@ function date_repeat_build_dates($rrule = NULL, $rrule_values = NULL, $field, $i
       $rdate['datetime'] .= ' 00:00:00';
     }
     $date = date_ical_date($rdate, $timezone);
-    $additions[] = date_format($date, 'Y-m-d');
+    $additions[] = date_format($date, 'Y-m-d h:iA');
   }
 
   $dates = date_repeat_calc($rrule, $start_datetime, $end_datetime, $exceptions, $timezone, $additions);
diff --git a/date_repeat/date_repeat_calc.inc b/date_repeat/date_repeat_calc.inc
index 3eb201f..4936007 100644
--- a/date_repeat/date_repeat_calc.inc
+++ b/date_repeat/date_repeat_calc.inc
@@ -365,7 +365,7 @@ function _date_repeat_calc($rrule, $start, $end, $exceptions, $timezone, $additi
 
   // add additional dates
   foreach ($additions as $addition) {
-    $date = date_make_date($addition . ' ' . date_format($start_date, 'H:i:s'), $timezone);
+    $date = date_make_date($addition, $timezone);
     $days[] = date_format($date, DATE_FORMAT_DATETIME);
   }
 
diff --git a/date_repeat/date_repeat_form.inc b/date_repeat/date_repeat_form.inc
index 16dc9cb..ef0839a 100644
--- a/date_repeat/date_repeat_form.inc
+++ b/date_repeat/date_repeat_form.inc
@@ -208,6 +208,9 @@ function _date_repeat_rrule_process($element, $edit, $form_state, $form) {
     $RDATE = '';
     if (!empty($additions[$i]['datetime'])) {
       $RDATE = $additions[$i]['datetime'];
+      $date = date_make_date($RDATE, 'UTC', DATE_DATETIME);
+      date_timezone_set($date, timezone_open(date_default_timezone_name()));
+      $RDATE = date_format_date($date, 'custom', 'Y-m-d h:iA');
     }
     $element['additions']['RDATE'][$i] = array(
       '#tree' => TRUE,
@@ -215,7 +218,7 @@ function _date_repeat_rrule_process($element, $edit, $form_state, $form) {
         '#type' => $element['#date_repeat_widget'],
         '#default_value' => $RDATE,
         '#date_timezone' => !empty($element['#date_timezone']) ? $element['#date_timezone'] : date_default_timezone_name(),
-        '#date_format' => !empty($element['#date_format']) ? date_limit_format($element['#date_format'], array('year', 'month', 'day')) : 'Y-m-d',
+        '#date_format' => 'Y-m-d h:iA',
         '#date_text_parts'  => !empty($element['#date_text_parts']) ? $element['#date_text_parts'] : array(),
         '#date_year_range'  => !empty($element['#date_year_range']) ? $element['#date_year_range'] : '-3:+3',
         '#date_label_position' => !empty($element['#date_label_position']) ? $element['#date_label_position'] : 'within',
@@ -345,7 +348,7 @@ function date_repeat_merge($form_values, $element) {
     foreach ($form_values['RDATE'] as $delta => $value) {
       if (is_array($value['datetime'])) {
         $rdate_element['#value'] = $form_values['RDATE'][$delta]['datetime'];
-        $rdate_element['#date_format'] = date_limit_format($element['#date_format'], array('year', 'month', 'day'));
+        $rdate_element['#date_format'] = 'Y-m-d h:iA';
         $form_values['RDATE'][$delta]['datetime'] = $function($rdate_element);
       }
     }
