diff --git a/aleksis/apps/chronos/managers.py b/aleksis/apps/chronos/managers.py
index fb5a886b80e2114f87c77d61e6f5f514f61bf737..c502064f5b2bb2a5642e75c4ab6a59366c12d994 100644
--- a/aleksis/apps/chronos/managers.py
+++ b/aleksis/apps/chronos/managers.py
@@ -909,13 +909,13 @@ class LessonEventQuerySet(PolymorphicQuerySet):
         ).distinct()
 
     def related_to_person(self, person: Union[int, Person]) -> "LessonEventQuerySet":
-        # FIXME Doc string, amended
+        """Get all lesson events related to a certain person (as teacher/participant/group owner/parent group owner, including amends)."""
         amended = self.filter(
             Q(amended_by__isnull=False)
-            & (Q(teachers=person) | Q(groups__members=person) | Q(groups__owners=person))
+            & (Q(teachers=person) | Q(groups__members=person) | Q(groups__owners=person) | Q(groups__parent_groups__owners=person))
         ).values_list("amended_by__pk", flat=True)
         return self.filter(
-            Q(teachers=person) | Q(groups__members=person) | Q(groups__owners=person)
+            Q(teachers=person) | Q(groups__members=person) | Q(groups__owners=person) | Q(groups__parent_groups__owners=person) | Q(pk__in=amended)
         ).distinct()
 
     def not_amended(self) -> "LessonEventQuerySet":