diff --git a/controller/rbac/role.go b/controller/rbac/role.go
index 2deb123fde7b72d686d796622e0d45302149708a..e2e0897536a16f68fb51fe8e845f3277e8beab99 100644
--- a/controller/rbac/role.go
+++ b/controller/rbac/role.go
@@ -51,13 +51,17 @@ func (r Role) GetPermissions() []string {
 }
 
 // RemovePermissionsFromRole takes permissions that should be removed from a role and updates the current permissions accordingly
-func (r Role) RemovePermissionsFromRole(permissionsToRemove []string) {
+func (r *Role) RemovePermissionsFromRole(permissionsToRemove []string) {
 	for _, permToRemove := range permissionsToRemove {
-		for i, perm := range r.Permissions {
-			if perm == permToRemove {
-				r.Permissions = append(r.Permissions[:i], r.Permissions[i+1:]...)
-				break
-			}
+		r.removePermissionFromRoles(permToRemove)
+	}
+}
+
+func (r *Role) removePermissionFromRoles(permToRemove string) {
+	for i, perm := range r.Permissions {
+		if perm == permToRemove {
+			r.Permissions = append(r.Permissions[:i], r.Permissions[i+1:]...)
+			break
 		}
 	}
 }