diff --git a/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java b/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java
index 5420c1a26b2699e2e924a79e45768713505f774c..5ba74dd2168b631d0d96b8335d1620373dc01865 100644
--- a/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java
+++ b/src/main/java/org/olat/commons/calendar/ui/KalendarEntryForm.java
@@ -167,7 +167,11 @@ public class KalendarEntryForm extends FormBasicController {
 		}
 		begin.setDate(kalendarEvent.getBegin());
 		end.setDate(kalendarEvent.getEnd());
-		allDayEvent.select("xx", kalendarEvent.isAllDayEvent());
+		boolean allDay = kalendarEvent.isAllDayEvent();
+		allDayEvent.select("xx", allDay);
+		end.setDateChooserTimeEnabled(!allDay);
+		begin.setDateChooserTimeEnabled(!allDay);
+		
 		switch (kalendarEvent.getClassification()) {
 			case KalendarEvent.CLASS_PRIVATE: classification.select("0", true); break;
 			case KalendarEvent.CLASS_X_FREEBUSY: classification.select("1", true); break;
@@ -310,21 +314,22 @@ public class KalendarEntryForm extends FormBasicController {
 		
 		location = uifactory.addTextAreaElement("location", "cal.form.location", -1, 3, 40, true, fb?translate("cal.form.location.hidden"):event.getLocation(), formLayout);
 		
+		allDayEvent = uifactory.addCheckboxesHorizontal("allday", "cal.form.allday", formLayout, new String[]{"xx"}, new String[]{null});
+		allDayEvent.select("xx", event.isAllDayEvent());
+		allDayEvent.addActionListener(FormEvent.ONCHANGE);
+		
 		begin = uifactory.addDateChooser("begin", "cal.form.begin", null, formLayout);
 		begin.setDisplaySize(21);
-		begin.setDateChooserTimeEnabled(true);
+		begin.setDateChooserTimeEnabled(!event.isAllDayEvent());
 		begin.setMandatory(true);
 		begin.setDate(event.getBegin());
 		
 		end = uifactory.addDateChooser("end", "cal.form.end", null, formLayout);
 		end.setDisplaySize(21);
-		end.setDateChooserTimeEnabled(true);
+		end.setDateChooserTimeEnabled(!event.isAllDayEvent());
 		end.setMandatory(true);
 		end.setDate(event.getEnd());
 		
-		allDayEvent = uifactory.addCheckboxesHorizontal("allday", "cal.form.allday", formLayout, new String[]{"xx"}, new String[]{null});
-		allDayEvent.select("xx", event.isAllDayEvent());
-		
 		chooseRecurrence = uifactory.addDropdownSingleselect("cal.form.recurrence", formLayout, keysRecurrence, valuesRecurrence, null);
 		String currentRecur = CalendarUtils.getRecurrence(event.getRecurrenceRule());
 		boolean rk = currentRecur != null && !currentRecur.equals("");
@@ -383,6 +388,10 @@ public class KalendarEntryForm extends FormBasicController {
 				isMulti = true;
 				formOK(ureq);
 			}
+		} else if(allDayEvent == source) {
+			boolean allDay = allDayEvent.isSelected(0);
+			begin.setDateChooserTimeEnabled(!allDay);
+			end.setDateChooserTimeEnabled(!allDay);
 		}
 	}