diff --git a/entity/Communication_entity/Communication_entity.aod b/entity/Communication_entity/Communication_entity.aod
index 47d89cc0a1c49c8507d6ada469a4e05775d32217..a27095f385c2ecdb9d1e6a053534477b059f39f7 100644
--- a/entity/Communication_entity/Communication_entity.aod
+++ b/entity/Communication_entity/Communication_entity.aod
@@ -12,6 +12,7 @@
       <title>${COMM_ADDRESS}</title>
       <contentTypeProcess>%aditoprj%/entity/Communication_entity/entityfields/addr/contentTypeProcess.js</contentTypeProcess>
       <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/Communication_entity/entityfields/addr/valueProcess.js</valueProcess>
       <onValidation>%aditoprj%/entity/Communication_entity/entityfields/addr/onValidation.js</onValidation>
     </entityField>
     <entityField>
@@ -23,12 +24,6 @@
       <title>Medium</title>
       <consumer>KeywordMediums</consumer>
       <mandatory v="true" />
-      <onValueChange>%aditoprj%/entity/Communication_entity/entityfields/medium_id/onValueChange.js</onValueChange>
-      <onValueChangeTypes>
-        <element>MASK</element>
-        <element>PROCESS</element>
-        <element>RECORD</element>
-      </onValueChangeTypes>
     </entityField>
     <entityField>
       <name>CONTACT_ID</name>
diff --git a/entity/Communication_entity/entityfields/addr/valueProcess.js b/entity/Communication_entity/entityfields/addr/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..4485a97535dcb1453202c4be8c601ec4428b5afa
--- /dev/null
+++ b/entity/Communication_entity/entityfields/addr/valueProcess.js
@@ -0,0 +1,19 @@
+import("system.result");
+import("system.vars");
+import("system.neon");
+import("KeywordRegistry_basic");
+import("Keyword_lib");
+
+var recordstate = vars.get("$sys.recordstate");
+if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)
+{
+    var medium = vars.get("$field.MEDIUM_ID");
+    if (vars.getString("$this.value") == "" && medium)
+    {
+        var keywordAttrs = KeywordUtils.getAttributeRelationsByKey(medium, $KeywordRegistry.communicationMedium());
+        var isInternet = keywordAttrs.contentType == "LINK";
+
+        if (isInternet)
+            result.string("https://");
+    }
+}
\ No newline at end of file
diff --git a/entity/Communication_entity/entityfields/medium_id/onValueChange.js b/entity/Communication_entity/entityfields/medium_id/onValueChange.js
deleted file mode 100644
index 2befa48edce658cc2dacc6a4e081a1343b6f6a2b..0000000000000000000000000000000000000000
--- a/entity/Communication_entity/entityfields/medium_id/onValueChange.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import("system.neon");
-import("system.vars");
-import("Entity_lib");
-
-var isInternet = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.MEDIUM_ID")) == "d08956b8-369e-4b65-88fa-1c37b3368ae3";
-var internetPreset = "https://";
-
-if (isInternet && vars.get("$field.ADDR") == "") //medium == Internet
-    neon.setFieldValue("$field.ADDR", internetPreset);
-else if (!isInternet && vars.get("$field.ADDR") == internetPreset)
-    neon.setFieldValue("$field.ADDR", "");
\ No newline at end of file