diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py
index dcea65eadacf0cf98f53af433e6910a412a51126..468f6678ac705256ca990722bb2e241c95aa6483 100644
--- a/aleksis/apps/chronos/models.py
+++ b/aleksis/apps/chronos/models.py
@@ -440,9 +440,6 @@ class LessonEvent(CalendarEvent):
             own = params.get("own", False)
             return_all = params.get("all", False)
 
-            if prefetch_absences:
-                objs = objs.prefetch_related("teachers__kolego_absences")
-
             if not_amended:
                 q = q & LessonEventQuerySet.not_amended_q()
 
@@ -511,14 +508,18 @@ class LessonEvent(CalendarEvent):
 
         elif request:
             q = q & LessonEventQuerySet.for_person_q(request.user.person)
-
+            
+        prefetch_fields = ["groups", "teachers", "rooms", "groups__members"]
+        if prefetch_absences:
+            prefetch_fields.append("teachers__kolego_absences")
+        
         objs = super().get_objects(
             request,
             params,
             start_qs=cls.objects.not_instance_of(SupervisionEvent),
             additional_filter=q,
             select_related=["subject", "course"],
-            prefetch_related=["groups", "teachers", "rooms", "groups__members"],
+            prefetch_related=prefetch_fields,
             **kwargs,
         )
         return objs