diff --git a/date_repeat/date_repeat.module b/date_repeat/date_repeat.module
index c9b2664..330424c 100644
--- a/date_repeat/date_repeat.module
+++ b/date_repeat/date_repeat.module
@@ -116,12 +116,15 @@ function date_repeat_dow_day_untranslated() {
 }
 
 function date_repeat_dow_day_options_ordered($weekdays) {
-  if (variable_get('date_first_day', 0) > 0) {
-    for ($i = 1; $i <= variable_get('date_first_day', 0); $i++) {
-      $last = array_shift($weekdays);
-      array_push($weekdays, $last);
-    }
+  $day_keys = array_keys($weekdays);
+  $day_values = array_values($weekdays);
+  for ($i = 1; $i <= variable_get('date_first_day', 0); $i++) {
+    $last_key = array_shift($day_keys);
+    array_push($day_keys, $last_key);
+    $last_value = array_shift($day_values);
+    array_push($day_values, $last_value);
   }
+  $weekdays = array_combine($day_keys, $day_values);
   return $weekdays;
 }
 
