diff --git a/entity/OrderLink_entity/entityfields/object_rowid/displayValueProcess.js b/entity/OrderLink_entity/entityfields/object_rowid/displayValueProcess.js
index f2a40e1892fb08c15ef403d5002bb90dc2849406..6254d4a7a90ea6deb4bf346cb38b6ebcc6d4069c 100644
--- a/entity/OrderLink_entity/entityfields/object_rowid/displayValueProcess.js
+++ b/entity/OrderLink_entity/entityfields/object_rowid/displayValueProcess.js
@@ -7,7 +7,7 @@ import("system.db");
 import("system.result");
 import("Context_lib");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.OBJECT_ROWID"))
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || !vars.get("$this.value"))
 {
     result.string("");
 }
diff --git a/entity/OrderLink_entity/entityfields/salesorder_id/valueProcess.js b/entity/OrderLink_entity/entityfields/salesorder_id/valueProcess.js
index 004b4ab41fdb2a6e8263543545182b36f8de29b4..bd9b13d0cfd8de14372752d9406a5ed6e9b4bb2a 100644
--- a/entity/OrderLink_entity/entityfields/salesorder_id/valueProcess.js
+++ b/entity/OrderLink_entity/entityfields/salesorder_id/valueProcess.js
@@ -1,7 +1,7 @@
 import("system.vars");
 import("system.result");
 
-if(vars.get("$this.value") && vars.get("$param.SalesorderId_param"))
+if(!vars.get("$this.value") && vars.get("$param.SalesorderId_param"))
 {
     result.string(vars.get("$param.SalesorderId_param"))
-}
\ No newline at end of file
+}
diff --git a/entity/Order_entity/recordcontainers/db/onDBUpdate.js b/entity/Order_entity/recordcontainers/db/onDBUpdate.js
index 2d2591ba60c5fe418f5a45c390bead3516efdafa..6775ae5411e9caadfbe13314c618d96468da8fee 100644
--- a/entity/Order_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Order_entity/recordcontainers/db/onDBUpdate.js
@@ -6,9 +6,13 @@ import("Workflow_lib");
 
 var rowdata = vars.get("$local.rowdata");
 var oid = rowdata["SALESORDER.SALESORDERID"];
-var links = EntityConsumerRowsHelper.getCurrentConsumerRows("Links", ["OBJECT_ROWID", "OBJECT_TYPE", "SALESORDER_ID"]);
 
-OrderLinkUtils.handleLinks(links, oid, vars.get("$field.Links.deletedRows"));
+if(vars.exists("$field.Links.deletedRows"))
+{
+    // only if Links are aviable (e.g. if the Order is updated via write entities)
+    var links = EntityConsumerRowsHelper.getCurrentConsumerRows("Links", ["OBJECT_ROWID", "OBJECT_TYPE", "SALESORDER_ID"]);
+    OrderLinkUtils.handleLinks(links, oid, vars.get("$field.Links.deletedRows"));
+}
 
 if(vars.get("$field.DiscountChanged") == "true" && oid){
     var discount = rowdata["SALESORDER.DISCOUNT"];