diff --git a/entity/PermissionAction_entity/PermissionAction_entity.aod b/entity/PermissionAction_entity/PermissionAction_entity.aod
index 337c7d2917caf6d9b662d536c22dbc08b81b4011..6092f3cce0d86a0052ed44fb3a540fe7329b45ad 100644
--- a/entity/PermissionAction_entity/PermissionAction_entity.aod
+++ b/entity/PermissionAction_entity/PermissionAction_entity.aod
@@ -48,6 +48,10 @@
       <name>AccessType_param</name>
       <expose v="true" />
     </entityParameter>
+    <entityParameter>
+      <name>PermissionCondition_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/PermissionAction_entity/onValidation.js b/entity/PermissionAction_entity/onValidation.js
index d82b59851b67598cf9e105caa38bfae9f9d07c6d..e97725af0b6c953e10fdabce940ff4bead540594 100644
--- a/entity/PermissionAction_entity/onValidation.js
+++ b/entity/PermissionAction_entity/onValidation.js
@@ -1,17 +1,23 @@
+import("system.db");
 import("system.vars");
 import("system.translate");
 import("system.result");
 import("Permission_lib");
 
-var permissionId = vars.get("$param.PermissionId_param");
+var alias = "_____SYSTEMALIAS";
 var actionTitle = vars.get("$field.ACTION");
+var permissionId = vars.get("$param.PermissionId_param");
+var permCondInput = vars.get("$param.PermissionCondition_param");
 
 if (PermissionUtil.existsPermission(permissionId)) {
     // existing permission
     // check if action is already in DB
     var actionsInDb = PermissionUtil.getPermissionAction(permissionId);
+    var sqlStr = "select COND from ASYS_PERMISSION where ASYS_PERMISSIONID='" + permissionId + "'";
+    var permCondDb = db.cell(sqlStr, alias);
+    
     for each (var action in actionsInDb) {
-        if (PermissionUtil.resolvePermissionActionId(action) == actionTitle) {
+        if (PermissionUtil.resolvePermissionActionId(action) == actionTitle && permCondInput == permCondDb) {
             result.string(translate.text("Action '" + actionTitle + "' already linked to this permission!"));
             break;
         }
diff --git a/entity/PermissionDetail_entity/PermissionDetail_entity.aod b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
index 62d48dbd8e368f71c1fa3bda319bb1ff5731a460..1f674316df068c350856880b1f1ba2e5cdc87853 100644
--- a/entity/PermissionDetail_entity/PermissionDetail_entity.aod
+++ b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
@@ -188,6 +188,10 @@
           <name>AccessType_param</name>
           <valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/permissionactions/children/accesstype_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>PermissionCondition_param</name>
+          <valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/permissionactions/children/permissioncondition_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
   </entityFields>
diff --git a/entity/PermissionDetail_entity/entityfields/permissionactions/children/permissioncondition_param/valueProcess.js b/entity/PermissionDetail_entity/entityfields/permissionactions/children/permissioncondition_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..13699cb90d170236ada6231abba8ab035aaf7bfe
--- /dev/null
+++ b/entity/PermissionDetail_entity/entityfields/permissionactions/children/permissioncondition_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.vars");
+import("system.result");
+result.string(vars.get("$field.CONDITION"));
\ No newline at end of file