diff --git a/aleksis/apps/maka/model_extensions.py b/aleksis/apps/maka/model_extensions.py
new file mode 100644
index 0000000000000000000000000000000000000000..d6a70c2b2e58bc422f4ab21131590b4160a0be7c
--- /dev/null
+++ b/aleksis/apps/maka/model_extensions.py
@@ -0,0 +1,11 @@
+from django.utils.translation import gettext as _
+
+from aleksis.core.models import Group
+
+
+# Dynamically add extra permissions to Group model in core
+# Note: requires migrate afterwards
+Group.add_permission("view_efforts_group", _("Can view all efforts of a group"))
+Group.add_permission("manage_efforts_group", _("Can manage all efforts of a group"))
+Group.add_permission("view_grades_group", _("Can view all grades of a group"))
+Group.add_permission("manage_grades_group", _("Can manage all grades of a group"))
diff --git a/aleksis/apps/maka/rules.py b/aleksis/apps/maka/rules.py
index 42cd84583d629482b7877e8f5b6bb3f3a5478966..f656f3c7f890ca619929528045978e97a6d9a110 100644
--- a/aleksis/apps/maka/rules.py
+++ b/aleksis/apps/maka/rules.py
@@ -26,35 +26,35 @@ view_effort_predicate = has_person & (
     (is_effort_group_member & is_site_preference_set("maka", "view_own_efforts"))
     | is_effort_group_owner
     | has_global_perm("maka.view_effort")
-    | has_effort_group_perm("core.view_effort_group")
+    | has_effort_group_perm("core.view_efforts_group")
 )
 add_perm("maka.view_effort_rule", view_effort_predicate)
 
 add_effort_predicate = has_person & (
     is_effort_group_owner
     | has_global_perm("maka.add_effort")
-    | has_effort_group_perm("core.add_effort_group")
+    | has_effort_group_perm("core.manage_efforts_group")
 )
 add_perm("maka.add_effort_rule", add_effort_predicate)
 
 edit_effort_predicate = has_person & (
     is_effort_group_owner
     | has_global_perm("maka.change_effort")
-    | has_effort_group_perm("core.edit_effort_group")
+    | has_effort_group_perm("core.manage_efforts_group")
 )
 add_perm("maka.edit_effort_rule", edit_effort_predicate)
 
 delete_effort_predicate = has_person & (
     is_effort_group_owner
     | has_global_perm("maka.delete_effort")
-    | has_effort_group_perm("core.delete_effort_group")
+    | has_effort_group_perm("core.manage_efforts_group")
 )
 add_perm("maka.delete_effort_rule", delete_effort_predicate)
 
 view_efforts_menu_predicate = has_person & (
     has_global_perm("maka.view_effort")
     | has_any_group_ownership
-    | has_any_object("core.view_effort_group", Group)
+    | has_any_object("core.view_efforts_group", Group)
 )
 add_perm("maka.view_efforts_menu_rule", view_efforts_menu_predicate)
 
@@ -64,28 +64,28 @@ view_grade_predicate = has_person & (
     (is_grade_person & is_site_preference_set("maka", "view_own_grades"))
     | is_grade_group_owner
     | has_global_perm("maka.view_grade")
-    | has_grade_group_perm("core.view_grade_group")
+    | has_grade_group_perm("core.view_grades_group")
 )
 add_perm("maka.view_grade_rule", view_grade_predicate)
 
 add_grade_predicate = has_person & (
     is_grade_group_owner
     | has_global_perm("maka.add_grade")
-    | has_grade_group_perm("core.add_grade_group")
+    | has_grade_group_perm("core.manage_grades_group")
 )
 add_perm("maka.add_grade_rule", add_grade_predicate)
 
 edit_grade_predicate = has_person & (
     is_grade_group_owner
     | has_global_perm("maka.change_grade")
-    | has_grade_group_perm("core.edit_grade_group")
+    | has_grade_group_perm("core.manage_grades_group")
 )
 add_perm("maka.edit_grade_rule", edit_grade_predicate)
 
 delete_grade_predicate = has_person & (
     is_grade_group_owner
     | has_global_perm("maka.delete_grade")
-    | has_grade_group_perm("core.delete_grade_group")
+    | has_grade_group_perm("core.manage_grades_group")
 )
 add_perm("maka.delete_grade_rule", delete_grade_predicate)