diff --git a/app/controllers/calendar/date.php b/app/controllers/calendar/date.php
index cd876ed76f447242cbd1fff156f5a9ec7ad0860b..a618a3d9c89a4e9415c53531c34e8cc817b35fbd 100644
--- a/app/controllers/calendar/date.php
+++ b/app/controllers/calendar/date.php
@@ -358,6 +358,14 @@ class Calendar_DateController extends AuthenticatedController
         $this->all_day_event = false;
         if ($mode === 'add' && Request::get('all_day') === '1') {
             $this->all_day_event = true;
+            //Check for a fullcalendar all-day event ending. In that case, remove one second to have an all-day event
+            //that abides to the Stud.IP rules.
+            $end = new DateTime();
+            $end->setTimestamp($this->date->end);
+            if ($end->format('His') === '000000') {
+                $end = $end->sub(new DateInterval('PT1S'));
+            }
+            $this->date->end = $end->getTimestamp();
         } else {
             $begin = new DateTime();
             $begin->setTimestamp(intval($this->date->begin));