diff --git a/aleksis/apps/alsijil/tasks.py b/aleksis/apps/alsijil/tasks.py
index cec0a8808c0eb14a45d26d3c3ec562248afb11aa..59d2ad2771fa2697ba9a1477da87d5d5cb751227 100644
--- a/aleksis/apps/alsijil/tasks.py
+++ b/aleksis/apps/alsijil/tasks.py
@@ -106,7 +106,14 @@ def generate_full_register_printout(
             documentations = Documentation.objects.filter(
                 Q(datetime_start__date__gte=group.school_term.date_start)
                 & Q(datetime_end__date__lte=group.school_term.date_end)
-                & (Q(course__groups=group) | Q(course__groups__parent_groups=group))
+                & Q(pk__in=Documentation.objects.filter(course__groups=group)
+                    .values_list("pk", flat=True)
+                    .union(
+                        Documentation.objects.filter(course__groups__parent_groups=group).values_list(
+                            "pk", flat=True
+                        )
+                    )
+                    )
             )
 
         if include_members_table or include_person_overviews: