diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index ea8100a29b622e72f8558f91b36daa645a7839d5..bba56d0252666e97b914c5e729e7d92535de282d 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -39,15 +39,17 @@ from .tables import (
 from .tasks import generate_full_register_printout
 
 
-@permission_required(
-    "alsijil.view_full_register_rule", fn=objectgetter_optional(Group, None, False)
-)
 def full_register_for_group(request: HttpRequest, ids: str) -> HttpResponse:
     """Show a configurable register printout as PDF for a group."""
 
     ids = [int(id_) for id_ in ids.split("/")]
 
-    groups = [get_object_or_404(Group, pk=id_) for id_ in ids]
+    groups = []
+    for id_ in ids:
+        group = get_object_or_404(Group, pk=id_)
+        if not request.user.has_perm("alsijil.view_full_register_rule", group):
+            raise PermissionDenied()
+        groups.append(group)
 
     file_object = PDFFile.objects.create()
     if has_person(request):