diff --git a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html
index 03b75de7b70508885bf06f35e42d1058a5c80b1a..6820996b7370426869a37a054a58d5faf77aa0a6 100644
--- a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html
+++ b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html
@@ -175,7 +175,7 @@
       </thead>
 
       <tbody>
-      {% for lesson in group.lessons.all %}
+      {% for lesson in lessons %}
         <tr>
           <td>{{ lesson.subject.name }}</td>
           <td>{{ lesson.teachers.all|join:', ' }}</td>
@@ -206,7 +206,7 @@
       </thead>
 
       <tbody>
-      {% for child_group in group.child_groups.all %}
+      {% for child_group in child_groups %}
         {% for lesson in child_group.lessons.all %}
           <tr>
             <td>{{ child_group.name }}</td>
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index 6e2dda372da02c94c68b32725a5eebe0b58346fe..24c73d2e6dc27cea3448ed15ab21f7cdbaee4af6 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -471,7 +471,18 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
     context["periods_by_day"] = periods_by_day
     context["lesson_periods"] = lesson_periods
     context["today"] = date.today()
-
+    context["lessons"] = (
+        group.lessons.all()
+        .select_related("validity", "subject")
+        .prefetch_related("teachers", "lesson_periods")
+    )
+    context["child_groups"] = group.child_groups.all().prefetch_related(
+        "lessons",
+        "lessons__validity",
+        "lessons__subject",
+        "lessons__teachers",
+        "lessons__lesson_periods",
+    )
     return render(request, "alsijil/print/full_register.html", context)