diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py
index f3e7331693b057df03290ebbfd74bfca923e11f8..0e09dcf9da5ab6ad795672711cf5efb8fc74586e 100644
--- a/aleksis/apps/chronos/models.py
+++ b/aleksis/apps/chronos/models.py
@@ -7,7 +7,6 @@ from datetime import date
 from typing import Any
 
 from django.contrib.contenttypes.models import ContentType
-from django.core.exceptions import PermissionDenied
 from django.core.validators import MinValueValidator
 from django.db import models
 from django.db.models import Q, QuerySet
@@ -482,7 +481,7 @@ class LessonEvent(CalendarEvent):
 
                     obj = get_el_by_pk(request, type_.lower(), obj_id)
                     if not request.user.has_perm("chronos.view_timetable_rule", obj):
-                        raise PermissionDenied()
+                        return LessonEvent.objects.none()
                 if type_ == "TEACHER":
                     q = q & LessonEventQuerySet.for_teacher_q(obj_id)
                 elif type_ == "PARTICIPANT":
@@ -587,7 +586,7 @@ class SupervisionEvent(LessonEvent):
 
                     obj = get_el_by_pk(request, type_.lower(), obj_id)
                     if not request.user.has_perm("chronos.view_supervisions_rule", obj):
-                        raise PermissionDenied()
+                        return SupervisionEvent.objects.none()
                 if type_ == "TEACHER":
                     q = q & SupervisionEventQuerySet.for_teacher_q(obj_id)
                 elif type_ == "GROUP":