diff --git a/date_popup/date_popup.js b/date_popup/date_popup.js
index 1847f84..a586065 100644
--- a/date_popup/date_popup.js
+++ b/date_popup/date_popup.js
@@ -45,7 +45,7 @@ Drupal.behaviors.date_popup = {
               // Seconds with leading zero.
               .replace('s', 'ss');
 
-            datePopup.settings.startTime = new Date(datePopup.settings.startTime);
+            datePopup.settings.startTime = datePopup.settings.startTime && new Date(datePopup.settings.startTime);
             $(this)
               .timepicker(datePopup.settings)
               .addClass('date-popup-init');
diff --git a/date_popup/date_popup.module b/date_popup/date_popup.module
index a2d0ebb..999beff 100644
--- a/date_popup/date_popup.module
+++ b/date_popup/date_popup.module
@@ -404,13 +404,15 @@ function date_popup_process_time_part(&$element) {
       // The first value in the dropdown list should be the same as the element
       // default_value, but it needs to be in JS format (i.e. milliseconds since
       // the epoch).
-      $start_time = new DateObject($element['#default_value'], $element['#date_timezone'], DATE_FORMAT_DATETIME);
-      date_increment_round($start_time, $element['#date_increment']);
-      $start_time = $start_time->format(DATE_FORMAT_UNIX) * 1000;
+      if ($element['#default_value']) {
+        $start_time = new DateObject($element['#default_value'], $element['#date_timezone'], DATE_FORMAT_DATETIME);
+        date_increment_round($start_time, $element['#date_increment']);
+        $start_time = $start_time->format(DATE_FORMAT_UNIX) * 1000;
+      }
       $settings = array(
         'timeFormat' => $format,
         'interval' => $element['#date_increment'],
-        'startTime' => $start_time,
+        'startTime' => isset($start_time) ? $start_time : NULL,
         'scrollbar' => TRUE,
       );
       break;
