diff --git a/aleksis/apps/alsijil/tasks.py b/aleksis/apps/alsijil/tasks.py
index da691ac24f5f8084c0cea6226c464386ace835bd..8fda7d53a57171052336a7af0a26ca5547e2cc91 100644
--- a/aleksis/apps/alsijil/tasks.py
+++ b/aleksis/apps/alsijil/tasks.py
@@ -242,9 +242,12 @@ def generate_full_register_printout(
 
     if include_coursebook:
         context["documentations_by_day"] = {}
-        documentations.prefetch_related("participations", "personal_notes")
-        for day in documentations.dates("datetime_start", "day"):
-            context["documentations_by_day"][day] = documentations.filter(datetime_start__date=day)
+        documentations = documentations.order_by("datetime_start").prefetch_related(
+            prefetch_notable_participations(select_related=["person"]),
+            prefetch_personal_notes("personal_notes", select_related=["person"])
+        )
+        for doc in documentations:
+            context["documentations_by_day"].setdefault(doc.datetime_start.date(), []).append(doc)
 
     # OLD