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 58443cc2522bb01d2c8de245d3bbd161f5fbfde7..faa461eb9ebdd0eee5e4b368d340ebc906e5b169 100644
--- a/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
+++ b/src/main/java/org/olat/commons/calendar/ui/WeeklyCalendarController.java
@@ -223,7 +223,7 @@ public class WeeklyCalendarController extends BasicController implements Activat
 		weeklyCalendar.addListener(this);
 
 	  // subscription, see OLAT-3861
-		if (!isGuest) {
+		if (!isGuest && !calendarWrappers.isEmpty()) {
 			SubscriptionProvider provider = new SubscriptionProviderImpl(caller, calendarWrappers.get(0));
 			subsContext = provider.getSubscriptionContext();
 			// if sc is null, then no subscription is desired
diff --git a/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java b/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java
index c55a5086119ce6e322ab48d8cdaef9eb040e64cb..1e4ac7f00bfcad0cafe24273570b6c97ac12e684 100644
--- a/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java
+++ b/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java
@@ -121,6 +121,7 @@ public class CourseCalendars {
 		ICourse course = CourseFactory.loadCourse(ores);
 		CourseLinkProviderController clpc = new CourseLinkProviderController(course, ureq, wControl);
 		courseKalendarWrapper.setLinkProvider(clpc);
+		calendars.add(courseKalendarWrapper);
 		
 		Identity identity = ureq.getIdentity();
 		CourseGroupManager cgm = course.getCourseEnvironment().getCourseGroupManager();