diff --git a/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod b/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
index bb4ecb0ec266ed4893cee28d5afbace892a3f9fe..2205303696adc7e26f5b0e7febdf7d200b9e3c74 100644
--- a/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
+++ b/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
@@ -32,7 +32,6 @@
       <consumer>CampaignStepConsumer</consumer>
       <mandatory v="true" />
       <state>EDITABLE</state>
-      <valueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js b/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js
index 2646a9a9ec38d931b9cddee46091ffcf15611f12..09512470cd7e3765e942fc746223eca44cc45e99 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js
@@ -1,3 +1,8 @@
+import("system.logging");
+import("system.vars");
 import("system.neon");
+import("Campaign_lib");
 
-//neon.setFieldValue("CAMPAIGNSTEP_ID", "")
\ No newline at end of file
+var stepId = CampaignUtils.getDefaultCampaignStep(vars.get("$field.CAMPAIGN_ID"));
+
+neon.setFieldValue("$field.CAMPAIGNSTEP_ID", stepId);
\ No newline at end of file
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/valueProcess.js
deleted file mode 100644
index f8c2b8082c5cfea54a35a2d6e2874e7d891247de..0000000000000000000000000000000000000000
--- a/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/valueProcess.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import("system.logging");
-import("system.result");
-import("system.neon");
-import("system.vars");
-
-if(vars.exists("$param.currentCampaignStepId_param") && vars.get("$param.currentCampaignStepId_param"))
-{
-//    result.string(vars.get("$param.currentCampaignStepId_param"));
-}
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js b/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js
index d232e9adbb9849d98d2de181275099a8c746f06a..07814c86a4ccb47432e0d0daff74ea1c4b1a90f6 100644
--- a/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js
+++ b/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js
@@ -1,3 +1,8 @@
+import("system.neon");
+import("system.logging");
+import("Campaign_lib");
 import("system.vars");
 
-vars.set("$field.CAMPAIGNSTEP_ID", "");
\ No newline at end of file
+var stepId = CampaignUtils.getDefaultCampaignStep(vars.get("$field.CAMPAIGN_ID"));
+
+neon.setFieldValue("$field.CAMPAIGNSTEP_ID", stepId);
\ No newline at end of file
diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js
index 12fa847b5a51d5468fe400f6aef46e0daffee30f..ced1497caf426421c04ad6bb9c41923cf649b086 100644
--- a/process/Campaign_lib/process.js
+++ b/process/Campaign_lib/process.js
@@ -186,7 +186,7 @@ _CampaignUtils._openAddParticipantContext = function(pContext, pRowIds, pEntityP
 _CampaignUtils._loadSingleValueFromDb = function(pSelectQuery, pConditionField, pConditionValue, pDefaultValue)
 {
     let res = pDefaultValue;
-    if (pConditionValue)
+    if (pConditionValue != null && pConditionValue != "null" && pConditionValue != "")
     {
         res = db.cell(SqlCondition.begin()
                                   .andPrepare(pConditionField, pConditionValue)