diff --git a/aleksis/core/rules.py b/aleksis/core/rules.py
index 8891ceffbca0ff151f14e902a36fa1a74349ff38..8dd99d60482bfe62bed8d72a38938e442c68592f 100644
--- a/aleksis/core/rules.py
+++ b/aleksis/core/rules.py
@@ -279,6 +279,11 @@ rules.add_perm("core.create_schoolterm_rule", create_school_term_predicate)
 edit_school_term_predicate = has_person & has_global_perm("core.change_schoolterm")
 rules.add_perm("core.edit_schoolterm_rule", edit_school_term_predicate)
 
+delete_schoolterm_predicate = has_person & (
+    has_global_perm("core.delete_schoolterm") | has_object_perm("core.delete_schoolterm")
+)
+rules.add_perm("core.delete_schoolterm_rule", delete_schoolterm_predicate)
+
 # View group stats
 view_group_stats_predicate = has_person & (
     has_global_perm("core.view_group_stats") | has_object_perm("core.view_group_stats")
diff --git a/aleksis/core/schema/school_term.py b/aleksis/core/schema/school_term.py
index f281318c988d6936de1d70ee0fe939da1fa5ba8b..a8b64d80faa99d95d93e8468586eb8f12e310de6 100644
--- a/aleksis/core/schema/school_term.py
+++ b/aleksis/core/schema/school_term.py
@@ -33,18 +33,18 @@ class SchoolTermType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType):
 class SchoolTermBatchCreateMutation(BaseBatchCreateMutation):
     class Meta:
         model = SchoolTerm
-        permissions = ("core.create_school_term_rule",)
+        permissions = ("core.create_schoolterm_rule",)
         only_fields = ("id", "name", "date_start", "date_end")
 
 
 class SchoolTermBatchDeleteMutation(BaseBatchDeleteMutation):
     class Meta:
         model = SchoolTerm
-        permissions = ("core.delete_school_term_rule",)
+        permissions = ("core.delete_schoolterm_rule",)
 
 
 class SchoolTermBatchPatchMutation(BaseBatchPatchMutation):
     class Meta:
         model = SchoolTerm
-        permissions = ("core.edit_school_term_rule",)
+        permissions = ("core.edit_schoolterm_rule",)
         only_fields = ("id", "name", "date_start", "date_end")