diff --git a/aleksis/apps/alsijil/tasks.py b/aleksis/apps/alsijil/tasks.py
index a86869b25a9b2ab33be3e40446d5e3e5d5aaa245..407d64a4a3ef848fb1c80a17975c3150d4261ee5 100644
--- a/aleksis/apps/alsijil/tasks.py
+++ b/aleksis/apps/alsijil/tasks.py
@@ -39,6 +39,7 @@ def generate_full_register_printout(
             "participations",
             to_attr="notable_participations",
             queryset=ParticipationStatus.objects
+            .filter(absence_reason__tags__short_name="class_register")
             .exclude(
                 Q(absence_reason__isnull=True)
                 | Q(tardiness__isnull=True)
@@ -70,9 +71,8 @@ def generate_full_register_printout(
         group = group.select_related("school_term")
 
     if include_abbreviations or include_members_table:
-        # TODO: AbsenceReasonTag important?
-        context["absence_reasons"] = AbsenceReason.objects.filter(count_as_absent=True)
-        context["absence_reasons_not_counted"] = AbsenceReason.objects.filter(count_as_absent=False)
+        context["absence_reasons"] = AbsenceReason.objects.filter(tags__short_name="class_register", count_as_absent=True)
+        context["absence_reasons_not_counted"] = AbsenceReason.objects.filter(tags__short_name="class_register", count_as_absent=False)
         context["extra_marks"] = ExtraMark.objects.all()
 
     if include_members_table or include_person_overviews: