diff --git a/entity/PermissionDetail_entity/PermissionDetail_entity.aod b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
index 1f674316df068c350856880b1f1ba2e5cdc87853..a4e15eebbe0dc95786588fb321ed810e7f452154 100644
--- a/entity/PermissionDetail_entity/PermissionDetail_entity.aod
+++ b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
@@ -48,6 +48,7 @@
       <stateProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/stateProcess.js</stateProcess>
       <valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
       <name>FIELD</name>
diff --git a/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js b/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js
index 63d2b62fa7a27a2855ee7dd5967859f8049da68e..8a49a8e160e65b5feacc9daea4dbcd10f658213c 100644
--- a/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js
@@ -1,8 +1,12 @@
+import("system.logging");
 import("system.neon");
 import("system.vars");
 import("system.result");
 
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.getString("$this.value") == null) {
+var thisValueNotValid = "{\"entity\":\"\",\"filter\":{\"type\":\"group\",\"operator\":\"AND\",\"childs\":[]}}";
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && (vars.get("$this.value") == null || vars.get("$this.value") == thisValueNotValid)) {
     var entity = vars.get("$field.ENTITY");
-    result.string(JSON.stringify({entity: "" + entity + "", filter: {type: "group", operator: "AND", childs: []}}));
+    var condJson = JSON.stringify({entity: "" + entity + "", filter: {type: "group", operator: "AND", childs: []}});
+    result.string(condJson);
 }
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/entityfields/entity/onValueChange.js b/entity/PermissionDetail_entity/entityfields/entity/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..11440115d21a7626a41c66c47e40a9eef5044612
--- /dev/null
+++ b/entity/PermissionDetail_entity/entityfields/entity/onValueChange.js
@@ -0,0 +1,3 @@
+import("system.neon");
+
+neon.refresh();
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js b/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js
index df2a2545e7f02a5b61ab2de2d49a6e8da67488d2..00b1e28b28b5c0d5810eea6ab9c4330f9a43d434 100644
--- a/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js
@@ -58,53 +58,4 @@ function checkInput(pInputArr) {
             return false;
     }
     return true;
-}
-
-//
-//    // deletes permissions with CONDTYPE = 'false' - condtype=false if a permission is used to display that a entity has no permissions
-//    var childPermissions = PermissionUtil.getAllChildPermissions(permissionsetid);
-//    for each (var permid in childPermissions) {
-//        if (PermissionUtil.getCondType(permid) == "false") {
-//            PermissionUtil.deletePermission(permid);
-//        }
-//    }
-//
-//    // check if a new permissions is needed or an existing one can be used
-//    var existingPermId = permExists(role, entity, field, accesstype, condtype, condition);
-//    if (existingPermId != "") {
-//        // update
-//        permissionid = existingPermId;
-//    } else {
-//        // permission doesnt exist -> insert new permission
-//        // new permissionid is needed to link actions to the permission in the next step
-//        logging.log("onInsert cond: " + condition);
-//        permissionid = PermissionUtil.insertNewPermission(permissionsetid, condition, condtype)
-//    }
-//    
-//    // insert new permissionaction    
-//    var actionNew = action.split(",");
-//    for each (let permaction in actionNew) {
-//        PermissionUtil.insertNewPermissionAction(permissionid, permaction);
-//    }
-//    
-//
-//// returns permissionid of the permission with fitting parameters, otherwise returns empty string
-//function permExists(pRole, pEntity, pField, pAccesstype, pCondtype, pCondition) {
-//    var sqlStr = "";
-//    var sqlExt = "";
-//    
-//    if (checkInput([pCondition])) {
-//        sqlExt += " and cast(COND as varchar(999) = '" + pCondition + "'";
-//    }
-//    
-//    if (checkInput([pField])) {
-//        sqlExt += " and FIELD_ID = '" + pField + "'";
-//    }
-//    
-//    sqlStr = "select ASYS_PERMISSION.ASYS_PERMISSIONID from ASYS_PERMISSIONSET"
-//    + " join ASYS_PERMISSION on ASYS_PERMISSION.ASYS_PERMISSIONSET_ID = ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID"
-//    + " where ENTITY_ID = '" + pEntity + "' and ROLE_ID = '" + pRole + "'"
-//    + " and ACCESSTYPE = '" + pAccesstype + "' and CONDTYPE = '" + pCondtype + "'" + sqlExt;
-//    var permId = db.cell(sqlStr, alias);
-//    return permId;
-//}
\ No newline at end of file
+}
\ No newline at end of file