diff --git a/inventory_provider/db/opsdb.py b/inventory_provider/db/opsdb.py
index a8a094c591fe2242b8325b9ee5c230cf7d316cd2..ee0aabc8b3bd614c8f37987cd09ffddc1b0f45ff 100644
--- a/inventory_provider/db/opsdb.py
+++ b/inventory_provider/db/opsdb.py
@@ -176,6 +176,20 @@ def _juniper_field_update(record):
             record["interface_name"] += separator + str(record["port"])
     if record["logical_unit"] is not None and record["logical_unit"] != "":
         record["interface_name"] += "." + str(record["logical_unit"])
+
+    if not record["other_end_interface_name"]:
+        record["other_end_interface_name"] = record["other_end_card_id"]
+        if record["other_end_port"] is not None \
+                and record["other_end_port"] != "":
+            separator = ""
+            if "-" in record["other_end_interface_name"]:
+                separator = "/"
+            record["other_end_interface_name"] += \
+                separator + str(record["other_end_port"])
+    if record["other_end_logical_unit"] is not None \
+            and record["other_end_logical_unit"] != "":
+        record["other_end_interface_name"] += \
+            "." + str(record["other_end_logical_unit"])
     return record
 
 
diff --git a/test/test_opsdb.py b/test/test_opsdb.py
index 2b0a299b3ebccff745cbe2108745711e01711d13..cf46fd99ea4e88e9c739f555d590cd9e468ba6e9 100644
--- a/test/test_opsdb.py
+++ b/test/test_opsdb.py
@@ -52,53 +52,83 @@ def test_infinera_field_update():
 def test_juniper_field_update():
     i = {
         "interface_name": "xe-1/2",
-        "logical_unit": None
+        "logical_unit": None,
+        "other_end_interface_name": "xe-3/2",
+        "other_end_logical_unit": None
          }
     r = inventory_provider.db.opsdb._juniper_field_update(i)
     assert r["interface_name"] == "xe-1/2"
+    assert r["other_end_interface_name"] == "xe-3/2"
 
     i["interface_name"] = "xe-1/2"
     i["logical_unit"] = 101
+    i["other_end_interface_name"] = "xe-3/2"
+    i["other_end_logical_unit"] = 301
     r = inventory_provider.db.opsdb._juniper_field_update(i)
     assert r["interface_name"] == "xe-1/2.101"
+    assert r["other_end_interface_name"] == "xe-3/2.301"
 
     i["interface_name"] = "xe-1/2"
     i["logical_unit"] = 0
+    i["other_end_interface_name"] = "xe-3/2"
+    i["other_end_logical_unit"] = 0
     r = inventory_provider.db.opsdb._juniper_field_update(i)
     assert r["interface_name"] == "xe-1/2.0"
+    assert r["other_end_interface_name"] == "xe-3/2.0"
 
     i["interface_name"] = "xe-1/2"
     i["logical_unit"] = None
     i["port"] = 0
+    i["other_end_interface_name"] = "xe-3/2"
+    i["other_end_logical_unit"] = None
+    i["other_end_port"] = 0
     r = inventory_provider.db.opsdb._juniper_field_update(i)
     assert r["interface_name"] == "xe-1/2"
+    assert r["other_end_interface_name"] == "xe-3/2"
 
     i["interface_name"] = None
     i["card_id"] = "xe-2/0"
     i["logical_unit"] = None
     i["port"] = None
+    i["other_end_interface_name"] = None
+    i["other_end_card_id"] = "xe-3/0"
+    i["other_end_logical_unit"] = None
+    i["other_end_port"] = None
     r = inventory_provider.db.opsdb._juniper_field_update(i)
     assert r["interface_name"] == "xe-2/0"
+    assert r["other_end_interface_name"] == "xe-3/0"
 
     i["interface_name"] = None
     i["port"] = "0"
+    i["other_end_interface_name"] = None
+    i["other_end_port"] = "0"
     r = inventory_provider.db.opsdb._juniper_field_update(i)
     assert r["interface_name"] == "xe-2/0/0"
+    assert r["other_end_interface_name"] == "xe-3/0/0"
 
     i["interface_name"] = None
     i["port"] = 0
+    i["other_end_interface_name"] = None
+    i["other_end_port"] = 0
     r = inventory_provider.db.opsdb._juniper_field_update(i)
     assert r["interface_name"] == "xe-2/0/0"
+    assert r["other_end_interface_name"] == "xe-3/0/0"
 
     i["interface_name"] = None
     i["logical_unit"] = "123"
+    i["other_end_interface_name"] = None
+    i["other_end_logical_unit"] = "323"
     r = inventory_provider.db.opsdb._juniper_field_update(i)
     assert r["interface_name"] == "xe-2/0/0.123"
+    assert r["other_end_interface_name"] == "xe-3/0/0.323"
 
     i["interface_name"] = None
     i["logical_unit"] = 123
+    i["other_end_interface_name"] = None
+    i["other_end_logical_unit"] = 323
     r = inventory_provider.db.opsdb._juniper_field_update(i)
     assert r["interface_name"] == "xe-2/0/0.123"
+    assert r["other_end_interface_name"] == "xe-3/0/0.323"
 
 
 def test_coriant_update_fields():