diff --git a/aleksis/apps/alsijil/tasks.py b/aleksis/apps/alsijil/tasks.py
index 8fda7d53a57171052336a7af0a26ca5547e2cc91..a86869b25a9b2ab33be3e40446d5e3e5d5aaa245 100644
--- a/aleksis/apps/alsijil/tasks.py
+++ b/aleksis/apps/alsijil/tasks.py
@@ -34,129 +34,6 @@ def generate_full_register_printout(
         include_coursebook: Optional[bool] = True
 ):
     """Generate a configurable register printout as PDF for a group."""
-    context = {}
-
-    _number_of_steps = 8
-
-    recorder.set_progress(1, _number_of_steps, _("Load data ..."))
-
-    group = Group.objects.get(pk=group)
-    file_object = PDFFile.objects.get(pk=file_object)
-
-    groups_q = (
-        Q(lesson_period__lesson__groups=group)
-        | Q(lesson_period__lesson__groups__parent_groups=group)
-        | Q(extra_lesson__groups=group)
-        | Q(extra_lesson__groups__parent_groups=group)
-        | Q(event__groups=group)
-        | Q(event__groups__parent_groups=group)
-    )
-    personal_notes = (
-        PersonalNote.objects.prefetch_related(
-            "lesson_period__substitutions", "lesson_period__lesson__teachers"
-        )
-        .not_empty()
-        .filter(groups_q)
-        .filter(groups_of_person=group)
-    )
-    documentations = LessonDocumentation.objects.not_empty().filter(groups_q)
-
-    recorder.set_progress(2, _number_of_steps, _("Sort data ..."))
-
-    sorted_documentations = {"extra_lesson": {}, "event": {}, "lesson_period": {}}
-    sorted_personal_notes = {"extra_lesson": {}, "event": {}, "lesson_period": {}, "person": {}}
-    for documentation in documentations:
-        key = documentation.register_object.label_
-        sorted_documentations[key][documentation.register_object_key] = documentation
-
-    for note in personal_notes:
-        key = note.register_object.label_
-        sorted_personal_notes[key].setdefault(note.register_object_key, [])
-        sorted_personal_notes[key][note.register_object_key].append(note)
-        sorted_personal_notes["person"].setdefault(note.person.pk, [])
-        sorted_personal_notes["person"][note.person.pk].append(note)
-
-    recorder.set_progress(3, _number_of_steps, _("Load lesson data ..."))
-
-    # Get all lesson periods for the selected group
-    lesson_periods = LessonPeriod.objects.filter_group(group).distinct()
-    events = Event.objects.filter_group(group).distinct()
-    extra_lessons = ExtraLesson.objects.filter_group(group).distinct()
-    weeks = CalendarWeek.weeks_within(group.school_term.date_start, group.school_term.date_end)
-
-    register_objects_by_day = {}
-    for extra_lesson in extra_lessons:
-        day = extra_lesson.date
-        register_objects_by_day.setdefault(day, []).append(
-            (
-                extra_lesson,
-                sorted_documentations["extra_lesson"].get(extra_lesson.pk),
-                sorted_personal_notes["extra_lesson"].get(extra_lesson.pk, []),
-                None,
-            )
-        )
-
-    for event in events:
-        day_number = (event.date_end - event.date_start).days + 1
-        for i in range(day_number):
-            day = event.date_start + timedelta(days=i)
-            event_copy = deepcopy(event)
-            event_copy.annotate_day(day)
-
-            # Skip event days if it isn't inside the timetable schema
-            if not (event_copy.raw_period_from_on_day and event_copy.raw_period_to_on_day):
-                continue
-
-            register_objects_by_day.setdefault(day, []).append(
-                (
-                    event_copy,
-                    sorted_documentations["event"].get(event.pk),
-                    sorted_personal_notes["event"].get(event.pk, []),
-                    None,
-                )
-            )
-
-    recorder.set_progress(4, _number_of_steps, _("Sort lesson data ..."))
-
-    weeks = CalendarWeek.weeks_within(
-        group.school_term.date_start,
-        group.school_term.date_end,
-    )
-
-    for lesson_period in lesson_periods:
-        for week in weeks:
-            day = week[lesson_period.period.weekday]
-
-            if (
-                lesson_period.lesson.validity.date_start
-                <= day
-                <= lesson_period.lesson.validity.date_end
-            ):
-                filtered_documentation = sorted_documentations["lesson_period"].get(
-                    f"{lesson_period.pk}_{week.week}_{week.year}"
-                )
-                filtered_personal_notes = sorted_personal_notes["lesson_period"].get(
-                    f"{lesson_period.pk}_{week.week}_{week.year}", []
-                )
-
-                substitution = lesson_period.get_substitution(week)
-
-                register_objects_by_day.setdefault(day, []).append(
-                    (lesson_period, filtered_documentation, filtered_personal_notes, substitution)
-                )
-
-    recorder.set_progress(5, _number_of_steps, _("Load statistics ..."))
-
-    persons = group.members.prefetch_related(None).select_related(None)
-    # TODO: Make new version of this query (generate_person_list_with_class_register_statistics)
-    persons = group.generate_person_list_with_class_register_statistics(persons)
-
-    prefetched_persons = []
-    for person in persons:
-        person.filtered_notes = sorted_personal_notes["person"].get(person.pk, [])
-        prefetched_persons.append(person)
-
-    # NEXT begins here:
     def prefetch_notable_participations(select_related=[], prefetch_related=[]):
         return Prefetch(
             "participations",
@@ -181,7 +58,12 @@ def generate_full_register_printout(
             .prefetch_related(*prefetch_related),
         )
 
-    # build the query-set
+    context = {}
+
+    _number_of_steps = 4
+
+    recorder.set_progress(1, _number_of_steps, _("Load data ..."))
+    
     group = Group.objects.filter(pk=group)
 
     if include_cover:
@@ -249,50 +131,14 @@ def generate_full_register_printout(
         for doc in documentations:
             context["documentations_by_day"].setdefault(doc.datetime_start.date(), []).append(doc)
 
-    # OLD
-
-    context["school_term"] = group.school_term
-    context["persons"] = prefetched_persons
-    context["excuse_types"] = ExcuseType.objects.filter(count_as_absent=True)
-    context["excuse_types_not_absent"] = ExcuseType.objects.filter(count_as_absent=False)
-    context["extra_marks"] = ExtraMark.objects.all()
-    # TODO: Change in context lessons is now part of group = fetch lessons with group so group.lessons.all works
-    #       = make groups & child_groups similar
-    #       Do similar to lessons below.
-    # ALSO: Only possible if lesrooster is present
-    context["group"] = group
-    context["weeks"] = weeks
-    context["register_objects_by_day"] = register_objects_by_day
-    context["register_objects"] = list(lesson_periods) + list(events) + list(extra_lessons)
-    context["today"] = date.today()
-    context["lessons"] = (
-        group.lessons.all()
-        .select_related(None)
-        .prefetch_related(None)
-        .select_related("validity", "subject")
-        .prefetch_related("teachers", "lesson_periods")
-    )
-    context["child_groups"] = (
-        group.child_groups.all()
-        .select_related(None)
-        .prefetch_related(None)
-        .prefetch_related(
-            "lessons",
-            "lessons__validity",
-            "lessons__subject",
-            "lessons__teachers",
-            "lessons__lesson_periods",
-        )
-    )
-
-    recorder.set_progress(6, _number_of_steps, _("Generate template ..."))
+    recorder.set_progress(2, _number_of_steps, _("Generate template ..."))
 
     # TODO: Use render pdf instead
     file_object, result = generate_pdf_from_template(
         "alsijil/print/register_for_group.html", context, file_object=file_object
     )
 
-    recorder.set_progress(7, _number_of_steps, _("Generate PDF ..."))
+    recorder.set_progress(3, _number_of_steps, _("Generate PDF ..."))
 
     with allow_join_result():
         result.wait()
@@ -300,4 +146,4 @@ def generate_full_register_printout(
         if not result.status == SUCCESS and file_object.file:
             raise Exception(_("PDF generation failed"))
 
-    recorder.set_progress(8, _number_of_steps)
+    recorder.set_progress(4, _number_of_steps)