diff --git a/entity/PermissionDetail_entity/entityfields/permissionactions/onValidation.js b/entity/PermissionDetail_entity/entityfields/permissionactions/onValidation.js
index 0b7c58f751bba0d8b8e570521d4243830439f783..2da1099bbc36332519d87a91ed9da6a9a7ed105e 100644
--- a/entity/PermissionDetail_entity/entityfields/permissionactions/onValidation.js
+++ b/entity/PermissionDetail_entity/entityfields/permissionactions/onValidation.js
@@ -24,6 +24,13 @@ var deletedRows = vars.get("$field.PermissionActions.deletedRows");
 var changedRows = vars.get("$field.PermissionActions.changedRows");
 var insertedRows = vars.get("$field.PermissionActions.insertedRows");
 
+for each (let row in insertedRows) {
+    if (row.ACTION == "") {
+        result.string(translate.text("Empty actions are not allowed!"));
+        break;
+    }
+}
+
 if (deletedRows.length == actionsAsStringArray.length && changedRows.length == 0 && insertedRows.length == 0) {
     result.string(translate.text("Permissions without actions are not allowed!"));
 }
@@ -32,14 +39,14 @@ if (PermissionUtil.permissionExists(permId)) {
     // old permission
     // insert only possible, if the same action is not already linked to the permission
     for each (let row in insertedRows) {
-        var actionGotJustDelted = false;
+        var actionHasJustBeenDeleted = false;
         if (PermissionUtil.actionExists(row.ACTION, permId)) {
             for each (let delRow in deletedRows) {
                 if (row.ACTION == delRow.ACTION) {
-                    actionGotJustDelted = true;
+                    actionHasJustBeenDeleted = true;
                 }
             }
-            if (!actionGotJustDelted) {
+            if (!actionHasJustBeenDeleted) {
                 result.string(translate.text("Action '" + row.ACTION + "' already linked to this permission."));
             }
         }
@@ -79,21 +86,21 @@ if (PermissionUtil.permissionExists(permId)) {
 if (insertedRows.length > 0) {
     switch (accesstype) {
         case "E":
-            if (actionsInDb.length >= allowedNumberOfActionsForEntityPermissions && !actionGotJustDelted) {
+            if (actionsInDb.length >= allowedNumberOfActionsForEntityPermissions && !actionHasJustBeenDeleted) {
                 result.string(translate.text("Only " + allowedNumberOfActionsForEntityPermissions + " actions allowed for this type of permission."));
             }
             break;
         case "R":
-            if (actionsInDb.length >= allowedNumberOfActionsForRecordPermission && !actionGotJustDelted) {
+            if (actionsInDb.length >= allowedNumberOfActionsForRecordPermission && !actionHasJustBeenDeleted) {
                 result.string(translate.text("Only " + allowedNumberOfActionsForRecordPermission + " actions allowed for this type of permission."));
             }
             break;
         case "F":
-            if (actionsInDb.length >= allowedNumberOfActionsForFieldPermissions && !actionGotJustDelted) {
+            if (actionsInDb.length >= allowedNumberOfActionsForFieldPermissions && !actionHasJustBeenDeleted) {
                 result.string(translate.text("Only " + allowedNumberOfActionsForFieldPermissions + " actions allowed for this type of permission."));
             }
             break;
         default:
-            result.string(translate.text("This error should never appear - contact administrator."));
+            result.string(translate.text("This error should never appear - contact administrator (PermissionDetail_entity.PermissionAction.onValidation)."));
     }
 }
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js b/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js
index 9e14cbbfbfc23c51aec6e92da12ecbb3f186a563..54100375b14cef0becd2fabc1ca5fc5a5ab15f9f 100644
--- a/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js
@@ -5,11 +5,11 @@ import("system.db");
 import("system.vars");
 import("Permission_lib");
 
+var alias = SqlUtils.getSystemAlias();
 var permId = vars.get("$field.UID");
 var accessType = vars.get("$field.ACCESSTYPE");
 var parentPermSetId = PermissionUtil.getParentSet(permId);
-var linkedActions = PermissionUtil.getActionsOfSet(permId);
-var alias = SqlUtils.getSystemAlias();
+var linkedActions = PermissionUtil.getActions([permId]);
 
 var sqlCondDelAction = SqlCondition.begin()
 .and("ASYS_PERMISSIONACTION.ASYS_PERMISSIONACTIONID in ('" + linkedActions.join("','") + "')")
@@ -29,14 +29,14 @@ switch (accessType) {
         var allPermActions = PermissionUtil.getActions(allPerms);
         
         sqlCondDelAction = SqlCondition.begin()
-        .and("ASYS_PERMISSIONACTION.ASYS_PERMISSIONACTIONID in ('" + allPermActions.join("','") + "')")
-        .build();
+            .and("ASYS_PERMISSIONACTION.ASYS_PERMISSIONACTIONID in ('" + allPermActions.join("','") + "')")
+            .build();
         sqlCondDelPerm = SqlCondition.begin()
-        .and("ASYS_PERMISSION.ASYS_PERMISSIONID in ('" + allPerms.join("','") + "')")
-        .build();
+            .and("ASYS_PERMISSION.ASYS_PERMISSIONID in ('" + allPerms.join("','") + "')")
+            .build();
         sqlCondDelPermSet = SqlCondition.begin()
-        .and("ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID in ('" + allPermSets.join("','") + "')")
-        .build();
+            .and("ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID in ('" + allPermSets.join("','") + "')")
+            .build();
         
         db.deleteData("ASYS_PERMISSIONACTION", sqlCondDelAction, alias); // delete all actions
         db.deleteData("ASYS_PERMISSION", sqlCondDelPerm, alias); // delete all permissions
diff --git a/process/Permission_lib/process.js b/process/Permission_lib/process.js
index f59aa345d2aab771f0a5e7f3aa17631fbd3471d0..bfe618882b42cfbdb8510f15b31f3051c89116d9 100644
--- a/process/Permission_lib/process.js
+++ b/process/Permission_lib/process.js
@@ -299,7 +299,7 @@ function PermissionUtil () {}
         var subPerms = PermissionUtil.getPermissions([pSetId]);
         var subActions = PermissionUtil.getActionsOfSet(pSetId);
     
-        if (subActions.length == 0 && subPerms == 0 && subSets == 0) 
+        if (subActions.length == 0 && subPerms.length == 0 && subSets.length == 0) 
             return true;
         return false;
     }