diff --git a/aleksis/apps/chronos/managers.py b/aleksis/apps/chronos/managers.py
index 600a20cae801604c76e7d992f8f07d30092dc696..2fb3c8e36ce5242fc96425e28b1c393c4df7865b 100644
--- a/aleksis/apps/chronos/managers.py
+++ b/aleksis/apps/chronos/managers.py
@@ -876,6 +876,13 @@ class LessonEventQuerySet(RecurrencePolymorphicQuerySet):
         )
         return self.filter(Q(teachers=teacher) | Q(pk__in=amended)).distinct()
 
+    def for_teachers(self, teachers: list[Union[int, Person]]) -> "LessonEventQuerySet":
+        """Get all lesson events for a list of persons as teacher (including amends)."""
+        amended = self.filter(Q(amended_by__isnull=False) & (Q(teachers__in=teachers))).values_list(
+            "amended_by__pk", flat=True
+        )
+        return self.filter(Q(teachers__in=teachers) | Q(pk__in=amended)).distinct()
+
     def for_participant(self, person: Union[int, Person]) -> "LessonEventQuerySet":
         """Get all lesson events the person participates in (including amends)."""
         amended = self.filter(Q(amended_by__isnull=False) | Q(groups__members=person)).values_list(
diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py
index 59f25388ecae313c55465e7b519d7173038e8052..11b57388df8dfa390b8a9f405e6aa2895a347480 100644
--- a/aleksis/apps/chronos/models.py
+++ b/aleksis/apps/chronos/models.py
@@ -1664,6 +1664,12 @@ class LessonEvent(CalendarEvent):
 
         if teacher:
             event_queryset = event_queryset.for_teacher(teacher)
+        else:
+            affected_teachers = Person.objects.filter(
+                Q(kolego_absences__datetime_start__lte=date_end)
+                & Q(kolego_absences__datetime_end__gte=date_start)
+            )
+            event_queryset = event_queryset.for_teachers(affected_teachers)
 
         events = LessonEvent.get_single_events(
             start=date_start, end=date_end, request=request, with_reference_object=True, queryset=event_queryset