diff --git a/aleksis/core/rules.py b/aleksis/core/rules.py
index 866b6a3ee08aa1e3fdb2e3366bcb4f26eaf07376..3325f136af03b52deb9be44f765cc82e2e832b70 100644
--- a/aleksis/core/rules.py
+++ b/aleksis/core/rules.py
@@ -196,16 +196,23 @@ change_group_preferences = has_person & (
 add_perm("core.change_group_preferences", change_group_preferences)
 
 # Edit group type
-edit_group_type_predicate = has_person & (
-    has_global_perm("core.change_group_type") | has_object_perm("core.change_group_type")
+change_group_type_predicate = has_person & (
+    has_global_perm("core.change_grouptype") | has_object_perm("core.change_grouptype")
 )
-add_perm("core.edit_group_type", edit_group_type_predicate)
+add_perm("core.edit_grouptype", change_group_type_predicate)
+
+# Create group type
+create_group_type_predicate = has_person & (
+    has_global_perm("core.create_grouptype") | has_object_perm("core.change_grouptype")
+)
+add_perm("core.create_grouptype", create_group_type_predicate)
+
 
 # Delete group type
 delete_group_type_predicate = has_person & (
-    has_global_perm("core.delete_group_type") | has_object_perm("core.delete_group_type")
+    has_global_perm("core.delete_grouptype") | has_object_perm("core.delete_grouptype")
 )
-add_perm("core.delete_group_type", delete_group_type_predicate)
+add_perm("core.delete_grouptype", delete_group_type_predicate)
 
 # View group types
 view_group_type_predicate = has_person & (
diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index 075cd594bf31836b7d9ca59988cb7a1eb0a618ba..81dc709017dac791c2e239379cc9cf262bfe3e71 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -447,7 +447,7 @@ def preferences(
     return render(request, "dynamic_preferences/form.html", context)
 
 
-@permission_required("core.edit_group_type", fn=objectgetter_optional(GroupType, None, False))
+@permission_required("core.change_grouptype", fn=objectgetter_optional(GroupType, None, False))
 def edit_group_type(request: HttpRequest, id_: Optional[int] = None) -> HttpResponse:
     """View to edit or create a group_type."""
     context = {}
@@ -491,7 +491,7 @@ def group_types(request: HttpRequest) -> HttpResponse:
     return render(request, "core/group_types.html", context)
 
 
-@permission_required("core.delete_group_type", fn=objectgetter_optional(GroupType, None, False))
+@permission_required("core.delete_grouptype", fn=objectgetter_optional(GroupType, None, False))
 def delete_group_type(request: HttpRequest, id_: int) -> HttpResponse:
     """View to delete an group_type."""
     group_type = objectgetter_optional(GroupType, None, False)(request, id_)