diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py
index de57ee133d4e4ba5bd8b4c3c39bf5fcabdaa3f60..892d733af2f36b8c2018f70ee592919052ab8d36 100644
--- a/aleksis/apps/alsijil/util/predicates.py
+++ b/aleksis/apps/alsijil/util/predicates.py
@@ -387,7 +387,16 @@ def is_documentation_teacher(user: User, obj: Documentation):
     Checks whether the person linked to the user is a teacher in the documentation.
     """
     if obj:
-        return user.person in obj.teachers
+        if not str(obj.pk).startswith("DUMMY") and hasattr(obj, "teachers"):
+            teachers = obj.teachers
+        elif obj.lesson_event.amends:
+            if obj.lesson_event.teachers:
+                teachers = obj.lesson_event.teachers
+            else:
+                teachers = obj.lesson_event.amends.teachers
+        else:
+            teachers = obj.lesson_event.teachers
+        return user.person in teachers.all()
     return False