diff --git a/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java b/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
index 6b30d04764d0a6a6cbeff35efe2b1d309578f290..7f7e4fd0081018c53db15234571762a5c0de1d2d 100644
--- a/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
+++ b/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
@@ -400,7 +400,7 @@ public class WeeklyCalendarController extends FormBasicController implements Act
 			eventCalloutCtr.deactivate();
 			cleanUp();
 		} else if(source == cmc) {
-			calendarEl.getComponent().setDirty(true);
+			calendarEl.setCalendars(calendarWrappers);
 			cleanUp();
 		} else if (source == dbcSequence) {
 			if(event != Event.CANCELLED_EVENT) {
@@ -443,13 +443,13 @@ public class WeeklyCalendarController extends FormBasicController implements Act
 			if(event instanceof CalendarGUIImportEvent) {
 				CalendarGUIImportEvent importEvent = (CalendarGUIImportEvent)event;
 				calendarWrappers.add(importEvent.getCalendar());
-				calendarEl.setCalendars(calendarWrappers);
+				// reload only after closing the configuration
 			} else if(event instanceof CalendarGUIRemoveEvent) {
 				CalendarGUIRemoveEvent removeEvent = (CalendarGUIRemoveEvent)event;
 				calendarWrappers.remove(removeEvent.getCalendar());
-				calendarEl.setCalendars(calendarWrappers);
+				// reload only after closing the configuration
 			} else if(event instanceof CalendarGUISettingEvent) {
-				calendarEl.setCalendars(calendarWrappers);
+				// reload only after closing the configuration
 			}
 		} else if(eventCalloutCtr == source) {
 			cleanUp();
@@ -515,7 +515,7 @@ public class WeeklyCalendarController extends FormBasicController implements Act
 		if(callerOres == null || calendarWrappers == null) return new ArrayList<>(1);
 		
 		List<KalendarRenderWrapper> alwaysVisible = new ArrayList<>();
-		if(WeeklyCalendarController.CALLER_CURRICULUM.equals(caller)) {
+		if(CalendarController.CALLER_CURRICULUM.equals(caller)) {
 			alwaysVisible.addAll(calendarWrappers);
 		} else {
 			KalendarRenderWrapper callerKalendar = getCallerKalendarRenderWrapper();
@@ -535,11 +535,11 @@ public class WeeklyCalendarController extends FormBasicController implements Act
 			String calendarType = calendarWrapper.getKalendar().getType();
 			String calendarId = calendarWrapper.getKalendar().getCalendarID();
 			if(callerResId.equals(calendarId)) {
-				if((WeeklyCalendarController.CALLER_COLLAB.equals(caller) && CalendarManager.TYPE_GROUP.equals(calendarType))
-						|| (WeeklyCalendarController.CALLER_COURSE.equals(caller) && CalendarManager.TYPE_COURSE.equals(calendarType))) {
+				if((CalendarController.CALLER_COLLAB.equals(caller) && CalendarManager.TYPE_GROUP.equals(calendarType))
+						|| (CalendarController.CALLER_COURSE.equals(caller) && CalendarManager.TYPE_COURSE.equals(calendarType))) {
 					return calendarWrapper;
 				}
-			} else if((WeeklyCalendarController.CALLER_PROFILE.equals(caller) || WeeklyCalendarController.CALLER_HOME.equals(caller))
+			} else if((CalendarController.CALLER_PROFILE.equals(caller) || CalendarController.CALLER_HOME.equals(caller))
 				&& CalendarManager.TYPE_USER.equals(calendarType) && calendarId.equals(callerOres.getResourceableTypeName())) {
 					return calendarWrapper;
 			}
@@ -551,11 +551,11 @@ public class WeeklyCalendarController extends FormBasicController implements Act
 		if(callerOres == null) return null;
 		
 		String url = null;
-		if(WeeklyCalendarController.CALLER_COLLAB.equals(caller)) {
+		if(CalendarController.CALLER_COLLAB.equals(caller)) {
 			url = getCallerCalendarUrl(CalendarManager.TYPE_GROUP, callerOres.getResourceableId().toString());
-		} else if(WeeklyCalendarController.CALLER_COURSE.equals(caller)) {
+		} else if(CalendarController.CALLER_COURSE.equals(caller)) {
 			url = getCallerCalendarUrl(CalendarManager.TYPE_COURSE, callerOres.getResourceableId().toString());
-		} else if(WeeklyCalendarController.CALLER_CURRICULUM.equals(caller)) {
+		} else if(CalendarController.CALLER_CURRICULUM.equals(caller)) {
 			url = getAggregatedCalendarUrl(CalendarManager.TYPE_CURRICULUM_EL_AGGREGATED, callerOres.getResourceableId());
 		}
 		return url;
diff --git a/src/main/java/org/olat/home/HomeCalendarController.java b/src/main/java/org/olat/home/HomeCalendarController.java
index d98d4aaefd28641df9266db4388d9f75eecb82ae..474b9a5f0d0b063ba87c9519551b8420b5416d82 100644
--- a/src/main/java/org/olat/home/HomeCalendarController.java
+++ b/src/main/java/org/olat/home/HomeCalendarController.java
@@ -67,7 +67,7 @@ public class HomeCalendarController extends BasicController implements Activatea
 		OLATResourceable callerOres = OresHelper.createOLATResourceableInstanceWithoutCheck(identity.getName(), identity.getKey());
 		List<KalendarRenderWrapper> calendars = homeCalendarManager.getListOfCalendarWrappers(ureq, windowControl);
 		calendarController = new WeeklyCalendarController(ureq, windowControl, calendars,
-				WeeklyCalendarController.CALLER_HOME, callerOres, true);
+				CalendarController.CALLER_HOME, callerOres, true);
 		calendarController.setDifferentiateManagedEvent(true);
 		listenTo(calendarController);