diff --git a/include/class.forms.php b/include/class.forms.php
index 0063c1d384c501efbbf5be513529d377aa46f99b..4dc69b993ee80473a35691c5fdf55589c88c3d97 100644
--- a/include/class.forms.php
+++ b/include/class.forms.php
@@ -1019,14 +1019,15 @@ class DatetimePickerWidget extends Widget {
         $config = $this->field->getConfiguration();
         if ($datetime = parent::getValue()) {
             $datetime = (is_int($datetime) ? $datetime :
-                (int)DateTime::createFromFormat($cfg->getDateFormat() . ' G:i',
-                    $datetime . ' 00:00')
-                ->format('U'));
-            if (isset($data[$this->name . ':time'])) {
+                (($dt = DateTime::createFromFormat($cfg->getDateFormat() . ' G:i',
+                        $datetime . ' 00:00'))
+                    ? (int) $dt->format('U') : false)
+            );
+            if ($datetime && isset($data[$this->name . ':time'])) {
                 list($hr, $min) = explode(':', $data[$this->name . ':time']);
                 $datetime += $hr * 3600 + $min * 60;
             }
-            if ($config['gmt'])
+            if ($datetime && $config['gmt'])
                 $datetime -= (int) (3600 * $_SESSION['TZ_OFFSET'] +
                     ($_SESSION['TZ_DST'] ? date('I',$datetime) : 0));
         }