diff --git a/src/Service/UwNodeFieldValue.php b/src/Service/UwNodeFieldValue.php
index 06280f5fe9c3b64626b33097c09b161c66818a2b..f06f433cd66fb7d53103afaf3e2daa06ffa4aeed 100644
--- a/src/Service/UwNodeFieldValue.php
+++ b/src/Service/UwNodeFieldValue.php
@@ -898,23 +898,29 @@ class UwNodeFieldValue {
     $return_date = [];
 
     if ($type == 'event') {
+
+      // Check for same day.
+      if (date( 'Ymd', $date['value']) == date( 'Ymd', $date['end_value'])) {
+        $return_date['same_day'] = TRUE;
+      }
+      else {
+        $return_date['same_day'] = FALSE;
+      }
+
       // If this is the same day, get the date and the start and end times.
       if ($date['duration'] < '1439') {
         $return_date['all_day'] = FALSE;
         $return_date['date_range'] = TRUE;
-        $return_date['same_day'] = TRUE;
       }
       // This is not the day, get the start and end date with time.
       elseif ($date['duration'] > '1439') {
         $return_date['all_day'] = FALSE;
         $return_date['date_range'] = TRUE;
-        $return_date['same_day'] = FALSE;
       }
       // The all date case, duration is always 1439.
       else {
         $return_date['all_day'] = TRUE;
         $return_date['date_range'] = TRUE;
-        $return_date['same_day'] = FALSE;
       }
 
       $return_date['start_date'] = $date['value'];