diff --git a/aleksis/apps/alsijil/forms.py b/aleksis/apps/alsijil/forms.py
index 489404d71146c1993b916ed622b7f23b78dc80c3..5c81ec8078ca4fab68d555cf13dc81ed725f9a2e 100644
--- a/aleksis/apps/alsijil/forms.py
+++ b/aleksis/apps/alsijil/forms.py
@@ -92,9 +92,10 @@ class SelectForm(forms.Form):
 
         if not check_global_permission(self.request.user, "alsijil.view_week"):
             group_qs = (
-                group_qs
-                & get_objects_for_user(
-                    self.request.user, "core.view_week_class_register_group", Group
+                group_qs.filter(
+                    pk__in=get_objects_for_user(
+                        self.request.user, "core.view_week_class_register_group", Group
+                    ).values_list("pk", flat=True)
                 )
             ).union(group_qs.filter(Q(members=person) | Q(owners=person)))
         self.fields["group"].queryset = group_qs