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 6025626336be129a943a4f01167a295f165539e6..c72cf1f03d940ad1681df1abb95cc0e788c7782e 100644
--- a/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
+++ b/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
@@ -351,11 +351,13 @@ public class WeeklyCalendarController extends FormBasicController implements Act
 		} else if (source == eventDetailsCtr) {
 			if(event instanceof CalendarGUIEditEvent) {
 				eventCalloutCtr.deactivate();
+				cleanUp();
 
 				CalendarGUIEditEvent editEvent = (CalendarGUIEditEvent)event;
 				pushEditEventController(ureq, editEvent.getKalendarEvent(), editEvent.getKalendarRenderWrapper());
 			} else if(event == Event.DONE_EVENT) {
 				eventCalloutCtr.deactivate();
+				cleanUp();
 			}
 		} else if(source == printCtrl) {
 			if (event instanceof CalendarGUIPrintEvent) {
diff --git a/src/main/java/org/olat/course/run/calendar/CourseLinkProviderController.java b/src/main/java/org/olat/course/run/calendar/CourseLinkProviderController.java
index 282eef913f591aeb8e7205bafff53b892ac98681..2e6f8a1835fe4b1acf21bef37f6437a020d9c093 100644
--- a/src/main/java/org/olat/course/run/calendar/CourseLinkProviderController.java
+++ b/src/main/java/org/olat/course/run/calendar/CourseLinkProviderController.java
@@ -76,7 +76,7 @@ public class CourseLinkProviderController extends FormBasicController implements
 		setTranslator(Util.createPackageTranslator(CalendarManager.class, ureq.getLocale(), getTranslator()));
 
 		this.ores = course;
-		availableCourses = new ArrayList<ICourse>(courses);
+		availableCourses = new ArrayList<>(courses);
 		courseNodeTreeModel = new CourseNodeSelectionTreeModel(courses);
 
 		initForm(ureq);
@@ -156,7 +156,10 @@ public class CourseLinkProviderController extends FormBasicController implements
 	@Override
 	public void setKalendarEvent(KalendarEvent kalendarEvent) {
 		this.kalendarEvent = kalendarEvent;
+		//clear all selections
 		clearSelection(courseNodeTreeModel.getRootNode());
+		multiSelectTree.deselectAll();
+		
 		for (KalendarEventLink link: kalendarEvent.getKalendarEventLinks()) {
 			if (link.getProvider().equals(COURSE_LINK_PROVIDER)) {
 				String nodeId = link.getId();