diff --git a/entity/Role_entity/recordcontainers/jdito/onDelete.js b/entity/Role_entity/recordcontainers/jdito/onDelete.js
index e80d3cd4bc4cf8b0ddbf73419497ecf53ba9b93c..7ce344eda42872669cc7b4ecc0b68eb41abcbe5e 100644
--- a/entity/Role_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/Role_entity/recordcontainers/jdito/onDelete.js
@@ -2,7 +2,23 @@ import("Permission_lib");
 import("system.tools");
 import("system.vars");
 
-var name = vars.get("$field.ROLENAME"); // field got prefix "CUSTOM_" already
+var targetRole = vars.get("$field.ROLENAME"); // field got prefix "CUSTOM_" already
+var usersWithTargetRole = tools.getUsersWithRole(targetRole);
+
 // delete permissions linked to this role
-PermissionUtil.deleteEverythingLinkedToRole(name);
-tools.deleteRole(name);
\ No newline at end of file
+PermissionUtil.deleteEverythingLinkedToRole(targetRole);
+
+// remove role from all users with this role
+for each (let userWithTargetRole in usersWithTargetRole) {
+    var user = tools.getUser(userWithTargetRole);
+    var roles = tools.getRoles(userWithTargetRole);
+    
+    roles = roles.filter(function(role) {
+        return role != targetRole;
+    });
+    user[tools.ROLES] = roles;
+
+    tools.updateUser(user);
+}
+
+tools.deleteRole(targetRole);
\ No newline at end of file