diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py
index 5f8ccf41bb4246ecf5cb04a4c6c50c6db1152f09..26c86557c6562e85e8aaba62421f296769fac2e1 100644
--- a/aleksis/apps/chronos/models.py
+++ b/aleksis/apps/chronos/models.py
@@ -1612,3 +1612,20 @@ class SupervisionEvent(LessonEvent):
         return render_to_string(
             "chronos/supervision_event_description.txt", {"event": reference_object}
         )
+
+    @classmethod
+    def get_objects(cls, request, params=None) -> Iterable:
+        """Return all objects that should be included in the calendar."""
+        objs = super().get_objects(request, params)
+        if params:
+            obj_id = int(params.get("id", 0))
+            type = params.get("type", None)
+
+            if type and obj_id:
+                if type == "TEACHER":
+                    return objs.for_teacher(obj_id)
+                elif type == "GROUP":
+                    return objs.for_group(obj_id)
+                elif type == "ROOM":
+                    return objs.for_room(obj_id)
+        return objs.for_person(request.user.person)