diff --git a/entity/PermissionAction_entity/PermissionAction_entity.aod b/entity/PermissionAction_entity/PermissionAction_entity.aod
index 96c5c67d0f9d96a2cc7b678df60e606df25c4d56..337c7d2917caf6d9b662d536c22dbc08b81b4011 100644
--- a/entity/PermissionAction_entity/PermissionAction_entity.aod
+++ b/entity/PermissionAction_entity/PermissionAction_entity.aod
@@ -3,6 +3,7 @@
   <name>PermissionAction_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <title>Action</title>
+  <onValidation>%aditoprj%/entity/PermissionAction_entity/onValidation.js</onValidation>
   <titlePlural>Actions</titlePlural>
   <recordContainer>jDito</recordContainer>
   <entityFields>
diff --git a/entity/PermissionAction_entity/entityfields/action/dropDownProcess.js b/entity/PermissionAction_entity/entityfields/action/dropDownProcess.js
index 6d764649337c7a3450a15a2957868ff37cd96dbf..6da1b8813f6e8ecff62b82479153d7c2e4606b68 100644
--- a/entity/PermissionAction_entity/entityfields/action/dropDownProcess.js
+++ b/entity/PermissionAction_entity/entityfields/action/dropDownProcess.js
@@ -25,71 +25,4 @@ switch (accesstype) {
             ]
 }
 
-result.object(actions);
-
-
-//#############################################################################
-//################only show actions which are not yet in the DB################
-//##########################not done yet#######################################
-//#############################################################################
-//import("system.logging");
-//import("Permission_lib");
-//import("system.vars");
-//import("system.result");
-//
-//var permisson = vars.get("$param.PermissionId_param");
-//var actionIdsInDb = PermissionUtil.getPermissionAction(permisson);
-//var actionsInDb = [];
-//for each (var actionId in actionIdsInDb) {
-//    actionsInDb.push(PermissionUtil.resolvePermissionActionId(actionId));
-//}
-//
-//var entityActions = ["view", "create"];
-//var recordActions = ["read", "update", "delete"];
-//var fieldActions = ["read", "update"];
-//var diff;
-//
-//var accesstype = vars.get("$param.AccessType_param");
-//var actions = [];
-//
-//switch (accesstype) {
-//    case "E":
-//        diff = arrDiff(actionsInDb, entityActions);
-//        break;
-//    case "R":
-//        diff = arrDiff(actionsInDb, recordActions);
-//        break;
-//    case "F":
-//        diff = arrDiff(actionsInDb, fieldActions);
-//        break;
-//}
-//
-//for each (let entry in diff) {
-//    actions.push([entry, entry]);
-//}
-//
-//result.object(actions);
-//
-//// arrDiff calculates different elements of two arrays and returns them as array, otherwise empty array
-//function arrDiff (arr1, arr2) {
-//    var helperArr = [], diff = [];
-//
-//    for (let i = 0; i < arr1.length; i++) {
-//        helperArr[arr1[i]] = true;
-//    }
-//
-//    for (let i = 0; i < arr2.length; i++) {
-//        if (helperArr[arr2[i]]) {
-//            delete helperArr[arr2[i]];
-//        } 
-//        else {
-//            helperArr[arr2[i]] = true;
-//        }
-//    }
-//
-//    for (var k in helperArr) {
-//        diff.push(k);
-//    }
-//
-//    return diff;
-//}
\ No newline at end of file
+result.object(actions);
\ No newline at end of file
diff --git a/entity/PermissionAction_entity/onValidation.js b/entity/PermissionAction_entity/onValidation.js
new file mode 100644
index 0000000000000000000000000000000000000000..d82b59851b67598cf9e105caa38bfae9f9d07c6d
--- /dev/null
+++ b/entity/PermissionAction_entity/onValidation.js
@@ -0,0 +1,19 @@
+import("system.vars");
+import("system.translate");
+import("system.result");
+import("Permission_lib");
+
+var permissionId = vars.get("$param.PermissionId_param");
+var actionTitle = vars.get("$field.ACTION");
+
+if (PermissionUtil.existsPermission(permissionId)) {
+    // existing permission
+    // check if action is already in DB
+    var actionsInDb = PermissionUtil.getPermissionAction(permissionId);
+    for each (var action in actionsInDb) {
+        if (PermissionUtil.resolvePermissionActionId(action) == actionTitle) {
+            result.string(translate.text("Action '" + actionTitle + "' already linked to this permission!"));
+            break;
+        }
+    }
+}
\ No newline at end of file
diff --git a/entity/PermissionAction_entity/recordcontainers/jdito/onInsert.js b/entity/PermissionAction_entity/recordcontainers/jdito/onInsert.js
index f7e1c66e82ec846dd37c2b2c5510c1a4642421cf..3acce8156ad069e0f495f8793e8e202a86b8c4db 100644
--- a/entity/PermissionAction_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/PermissionAction_entity/recordcontainers/jdito/onInsert.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.db");
 import("system.tools");
 import("system.result");