diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index 798fb3726313793717a9b073dc609a438112450b..3b30e194f217324c212e273c3be15a19938c84a2 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -47,6 +47,10 @@
       <mandatory v="true" />
       <state>EDITABLE</state>
       <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/phase/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/Salesproject_entity/entityfields/phase/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+      </onValueChangeTypes>
     </entityField>
     <entityField>
       <name>PROJECTCODE</name>
diff --git a/entity/Salesproject_entity/entityfields/phase/onValueChange.js b/entity/Salesproject_entity/entityfields/phase/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..4fbd8be4825302fe3dff5a594409614a6ae1f40f
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/phase/onValueChange.js
@@ -0,0 +1,25 @@
+import("Sql_lib");
+import("system.neon");
+import("system.vars");
+
+var currPobab = parseInt(
+    newSelect("SALESPROJECT.PROBABILITY")
+    .from("SALESPROJECT")
+    .where("SALESPROJECT.SALESPROJECTID", vars.get("$field.SALESPROJECTID"))
+    .cell()
+);
+var autoProbab = parseInt(
+    newSelect("SALESPROJECTPHASEDEFINITION.AUTOPROBABILITY")
+    .from("SALESPROJECTPHASEDEFINITION")
+    .where("SALESPROJECTPHASEDEFINITION.PHASE", vars.get("$this.value"))
+    .cell()
+);
+
+if(isNaN(autoProbab) || autoProbab < currPobab)
+{
+    neon.setFieldValue("$field.PROBABILITY", currPobab);
+}
+else
+{
+    neon.setFieldValue("$field.PROBABILITY", autoProbab);
+}
diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
index 8c73baf3b59dff8e2e959923955c70e1fac50205..c9dfa3fa5c396f3cfb5d459cf9c5f0f91db4a270 100644
--- a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
@@ -22,17 +22,6 @@ vars.get("$local.changed").forEach(function(fieldName) {
     
     switch (fieldName) {
         case "SALESPROJECT.PHASE":
-            typeValue = "SalesprojectPhase";
-            var autoProbab = newSelect("SALESPROJECTPHASEDEFINITION.AUTOPROBABILITY")
-                .from("SALESPROJECTPHASEDEFINITION")
-                .where("SALESPROJECTPHASEDEFINITION.PHASE", vars.get("$field.PHASE")).cell();
-            if(!isNaN(parseInt(autoProbab)))
-            {
-                newWhere("SALESPROJECT.SALESPROJECTID", vars.get("$field.SALESPROJECTID"))
-                .updateFields({
-                    "PROBABILITY": autoProbab
-                }, "SALESPROJECT");
-            }
             break;
         case "SALESPROJECT.STATUS":
             // Milestone