diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod
index 00000aad7b2afdcb7cba8149e8b086d57b7c954f..56b90af820b6c4e3f2191224dff70d8dcbab6c83 100644
--- a/entity/Address_entity/Address_entity.aod
+++ b/entity/Address_entity/Address_entity.aod
@@ -116,6 +116,10 @@
           <name>OrganisationId_param</name>
           <expose v="false" />
         </entityParameter>
+        <entityParameter>
+          <name>ContactIds_param</name>
+          <expose v="false" />
+        </entityParameter>
       </children>
     </entityProvider>
     <entityParameter>
@@ -160,6 +164,10 @@
           <name>OrganisationId_param</name>
           <expose v="false" />
         </entityParameter>
+        <entityParameter>
+          <name>ContactIds_param</name>
+          <expose v="false" />
+        </entityParameter>
       </children>
     </entityProvider>
     <entityProvider>
@@ -196,6 +204,10 @@
           <name>OrganisationId_param</name>
           <expose v="false" />
         </entityParameter>
+        <entityParameter>
+          <name>ContactIds_param</name>
+          <expose v="false" />
+        </entityParameter>
       </children>
     </entityProvider>
     <entityField>
@@ -262,6 +274,10 @@
           <name>ContactId_param</name>
           <expose v="true" />
         </entityParameter>
+        <entityParameter>
+          <name>ContactIds_param</name>
+          <expose v="false" />
+        </entityParameter>
       </children>
     </entityProvider>
     <entityParameter>
@@ -451,6 +467,12 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
+      <children>
+        <entityParameter>
+          <name>ContactType_param</name>
+          <expose v="false" />
+        </entityParameter>
+      </children>
     </entityProvider>
     <entityParameter>
       <name>ContactIds_param</name>
diff --git a/entity/Address_entity/entityfields/addr_type/valueProcess.js b/entity/Address_entity/entityfields/addr_type/valueProcess.js
index c8587c547389fc6e1700d7e41010997e4f05c5a8..d3d593fcd1f4384590c71fe7be78f8608f8979f4 100644
--- a/entity/Address_entity/entityfields/addr_type/valueProcess.js
+++ b/entity/Address_entity/entityfields/addr_type/valueProcess.js
@@ -4,7 +4,7 @@ import("system.vars");
 import("Contact_lib");
 import("KeywordRegistry_basic");
 
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.ContactType_param"))
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.ContactType_param") && vars.get("$this.value") == null)
 {
     if (vars.get("$param.ContactType_param") == Contact.TYPES.Organisation)
         result.string($KeywordRegistry.addressType$office());
diff --git a/entity/Address_entity/entityfields/contact_id/valueProcess.js b/entity/Address_entity/entityfields/contact_id/valueProcess.js
index 27abdb6eceeb6172b053e0e402715b93d11d7a8a..5917f2446dc03e019f1ee5458656d959a7c61feb 100644
--- a/entity/Address_entity/entityfields/contact_id/valueProcess.js
+++ b/entity/Address_entity/entityfields/contact_id/valueProcess.js
@@ -1,11 +1,22 @@
 import("system.result");
 import("system.neon");
 import("system.vars");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
-    if(vars.exists("$param.ContactId_param") && vars.getString("$param.ContactId_param"))
+    var contactId = vars.exists("$param.ContactId_param") ? vars.getString("$param.ContactId_param") : "";
+    if (vars.exists("$param.ContactIds_param") && vars.getString("$param.ContactIds_param"))
     {
-        result.string(vars.getString("$param.ContactId_param"));    
+        var addrType = vars.get("$field.ADDR_TYPE");
+        var isOrgType = KeywordUtils.getAttributeRelation(addrType, $KeywordRegistry.addressType(), "organisation");
+        var contactIds = vars.get("$param.ContactIds_param");
+        
+        result.string(isOrgType ? contactId : JSON.parse(contactIds)[0]);
+    }
+    else if (contactId)
+    {
+        result.string(contactId);    
     }
 }
diff --git a/entity/Address_entity/recordcontainers/db/onDBInsert.js b/entity/Address_entity/recordcontainers/db/onDBInsert.js
index 079be03fbbc4251354e6778b1556d8c7ae4db676..f6a22d75b08961e7449257ca111a0e2819de0c99 100644
--- a/entity/Address_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Address_entity/recordcontainers/db/onDBInsert.js
@@ -1,18 +1,20 @@
+import("KeywordRegistry_basic");
 import("DataPrivacy_lib");
 import("system.vars");
 import("StandardObject_lib");
 import("Keyword_lib");
 
 var rowdata = vars.get("$local.rowdata");
-
 var addrType = rowdata["ADDRESS.ADDR_TYPE"];
-var contacts = vars.get("$param.ContactIds_param");
-if (contacts)
+
+var typeParam = vars.get("$param.ContactType_param");
+
+if (!typeParam && vars.exists("$param.ContactIds_param") && vars.getString("$param.ContactIds_param"))
 {
-    contacts = JSON.parse(contacts);
+    var isOrgType = KeywordUtils.getAttributeRelation(addrType, $KeywordRegistry.addressType(), "organisation");
+    typeParam = isOrgType ? "organisation" : "contact";
 }
 
-var typeParam = vars.get("$param.ContactType_param");
 var scopeType = null
 if (typeParam === "contact")
     scopeType = "Person"
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 89e84469ddd03a66420504ebcdf9a02f3b4df35c..8d64b13b34e1277230f6c96f0cc6cd334154fbde 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -108,6 +108,7 @@
     <entityField>
       <name>CONTACTID</name>
       <title>CONTACTID (UID)</title>
+      <state>INVISIBLE</state>
     </entityField>
     <entityProvider>
       <name>OrganisationRelated</name>
diff --git a/entity/QuickEntry_entity/QuickEntry_entity.aod b/entity/QuickEntry_entity/QuickEntry_entity.aod
index 877e8dd3ce71b2b13aff2acf106d7b028ff2a576..6f195406724483ccbfd9b390074a07caf45725b1 100644
--- a/entity/QuickEntry_entity/QuickEntry_entity.aod
+++ b/entity/QuickEntry_entity/QuickEntry_entity.aod
@@ -35,7 +35,6 @@
         </entityParameter>
         <entityParameter>
           <name>ContactType_param</name>
-          <valueProcess>%aditoprj%/entity/QuickEntry_entity/entityfields/adresses/children/contacttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/QuickEntry_entity/entityfields/activities/children/insertlinks_param/valueProcess.js b/entity/QuickEntry_entity/entityfields/activities/children/insertlinks_param/valueProcess.js
index 532faa2466b8e7364d222f001f7d979fbcbf92e3..ddaeef0436f73c741b6d05684ee0c5aaba326de6 100644
--- a/entity/QuickEntry_entity/entityfields/activities/children/insertlinks_param/valueProcess.js
+++ b/entity/QuickEntry_entity/entityfields/activities/children/insertlinks_param/valueProcess.js
@@ -4,9 +4,9 @@ import("system.result");
 var links = [
     ["Organisation", vars.get("$field.UID")]
 ];
-//var contactLinks = vars.get("$field.Contacts.insertedRows").map(function (row)
-//{
-//    return ["Person", row["#UID"]];
-//});
+var contactLinks = vars.get("$field.Contacts.insertedRows").map(function (row)
+{
+    return ["Person", row["CONTACTID"]];
+});
 
 result.string(JSON.stringify(links.concat(contactLinks)));
\ No newline at end of file
diff --git a/entity/QuickEntry_entity/entityfields/adresses/children/contactids_param/valueProcess.js b/entity/QuickEntry_entity/entityfields/adresses/children/contactids_param/valueProcess.js
index 3753f026865ca9e62dd48ce720d3106a3d2669f2..6257582e02623de19709579d9b09e26af01034a7 100644
--- a/entity/QuickEntry_entity/entityfields/adresses/children/contactids_param/valueProcess.js
+++ b/entity/QuickEntry_entity/entityfields/adresses/children/contactids_param/valueProcess.js
@@ -1,4 +1,8 @@
 import("system.vars");
 import("system.result");
 
-result.string(JSON.stringify(vars.get("$field.Contacts.insertedRows"), null, "\t"));
\ No newline at end of file
+var contacts = vars.get("$field.Contacts.insertedRows").map(function (row)
+{
+    return row["CONTACTID"];
+});
+result.string(JSON.stringify(contacts));
diff --git a/entity/QuickEntry_entity/entityfields/adresses/children/contacttype_param/valueProcess.js b/entity/QuickEntry_entity/entityfields/adresses/children/contacttype_param/valueProcess.js
deleted file mode 100644
index 5b22485f78ec913ec2c78da936d72e59c8c8c926..0000000000000000000000000000000000000000
--- a/entity/QuickEntry_entity/entityfields/adresses/children/contacttype_param/valueProcess.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import("system.result");
-
-result.string("organisation");
\ No newline at end of file
diff --git a/neonView/AttributeLookup_view/AttributeLookup_view.aod b/neonView/AttributeLookup_view/AttributeLookup_view.aod
index 95ca44e075940a7a14bab32b3a270774707c59f5..8f7597355bad82c1f426a96098e96c314e0e91db 100644
--- a/neonView/AttributeLookup_view/AttributeLookup_view.aod
+++ b/neonView/AttributeLookup_view/AttributeLookup_view.aod
@@ -13,7 +13,7 @@
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
-          <name>9a69a2af-3186-4180-a665-016c30f1fbdc</name>
+          <name>20f27051-1ef2-411a-865c-2a711ed39dde</name>
           <entityField>FULL_ATTRIBUTE_NAME</entityField>
         </neonTableColumn>
       </columns>
diff --git a/neonView/PersonMultiEdit_view/PersonMultiEdit_view.aod b/neonView/PersonMultiEdit_view/PersonMultiEdit_view.aod
index ba34fbe224c0da0c04a221336ce9426869c054d8..7a4031375cbc72d282bcd69ef53b4086986926cf 100644
--- a/neonView/PersonMultiEdit_view/PersonMultiEdit_view.aod
+++ b/neonView/PersonMultiEdit_view/PersonMultiEdit_view.aod
@@ -32,6 +32,10 @@
           <name>e85a4676-806a-41f2-87c6-12cf58bfe896</name>
           <entityField>LANGUAGE</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>b70ccea4-672f-4326-9435-97456b39d376</name>
+          <entityField>CONTACTID</entityField>
+        </neonTableColumn>
       </columns>
     </genericMultipleViewTemplate>
   </children>