diff --git a/aleksis/core/frontend/routes.js b/aleksis/core/frontend/routes.js
index e8bc2e6a6232172e27c68daeb32d2410b8e0a04f..cffb6955b7c607d6d49fc65642a3a52dd30b5a61 100644
--- a/aleksis/core/frontend/routes.js
+++ b/aleksis/core/frontend/routes.js
@@ -371,7 +371,7 @@ const routes = [
           inMenu: true,
           titleKey: "holidays.menu_title",
           icon: "$holidays",
-          permission: "core.view_holiday_rule",
+          permission: "core.view_holidays_rule",
         },
       },
       {
diff --git a/aleksis/core/schema/__init__.py b/aleksis/core/schema/__init__.py
index a1c2896ef44220326d851e81ba53037db3a70588..9db010c02eaa5d632ea6e1f443f9b7a0582b25e5 100644
--- a/aleksis/core/schema/__init__.py
+++ b/aleksis/core/schema/__init__.py
@@ -145,14 +145,12 @@ class Query(graphene.ObjectType):
     def resolve_group_by_id(root, info, id):  # noqa
         group = Group.objects.filter(id=id)
 
-        if len(group) != 1:
-            return None
-
-        group = group.first()
+        if group.exists():
+            group = group.first()
 
-        if not info.context.user.has_perm("core.view_group", group):
-            raise PermissionDenied()
-        return group
+            if not info.context.user.has_perm("core.view_group_rule", group):
+                raise PermissionDenied()
+            return group
 
     def resolve_who_am_i(root, info, **kwargs):
         return info.context.user