diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index bfb6a9cbaa71f886d79c28991077190f66ec69b8..f0589770125211a2085a71e410c83763ece5b1ed 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -65,6 +65,7 @@
       <name>CONTRACTTYPE</name>
       <title>Type of contract</title>
       <consumer>ContractTypes</consumer>
+      <mandatory v="true" />
       <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/contracttype/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
diff --git a/entity/Contract_entity/entityfields/contractend/onValueChange.js b/entity/Contract_entity/entityfields/contractend/onValueChange.js
index 290f3dbb283c1d89f1add09c6babdced7a4608e7..1e3c85c6ef60e8daaf57ba5c67841264b31a2c07 100644
--- a/entity/Contract_entity/entityfields/contractend/onValueChange.js
+++ b/entity/Contract_entity/entityfields/contractend/onValueChange.js
@@ -5,5 +5,5 @@ import("Entity_lib");
 var cEnd = vars.get("local.value");
 var cDue = vars.get("$field.CONTRACTDUE");
 
-if (cDue != "" && cDue > cEnd)
+if (cDue && cEnd && cDue > cEnd)
     vars.set("$field.CONTRACTDUE", cEnd);
\ No newline at end of file
diff --git a/entity/Contract_entity/onValidation.js b/entity/Contract_entity/onValidation.js
index 679cbdf51a904ec7311bf08d3c70213941c03ee7..c562298d1844abc47394d0d1fc31ae06dba7bf7d 100644
--- a/entity/Contract_entity/onValidation.js
+++ b/entity/Contract_entity/onValidation.js
@@ -9,7 +9,7 @@ var endDate = vars.get("$field.CONTRACTEND");
 
 var errorMessage = "";
 
-if (!DateUtils.validateBeginnBeforeEnd(startDate, endDate))
+if (endDate && !DateUtils.validateBeginnBeforeEnd(startDate, endDate))
     errorMessage = DateUtils.getValidationFailString();
 
 // check Duedate