diff --git a/inventory_provider/storage/external_inventory.py b/inventory_provider/storage/external_inventory.py
index a32fed4a0eba4c5582c69a8f070468ada68b686d..e31e43bbdaca8024293a2c586c7afb7aac792ef4 100644
--- a/inventory_provider/storage/external_inventory.py
+++ b/inventory_provider/storage/external_inventory.py
@@ -1,4 +1,5 @@
 import json
+from collections import defaultdict
 from inventory_provider import db
 
 
@@ -20,14 +21,17 @@ def update_services_to_monitor(services):
 
 def update_interfaces_to_services(services):
     r = db.get_redis()
-    mapped_interfaces = {}
+    mapped_interfaces = defaultdict(list)
     r.delete(interfaces_key)
     for service in services:
         key = "{}::{}".format(
             service['equipment'],
             service['interface_name']
         )
-        r.hset(interfaces_key, key, json.dumps(mapped_interfaces[key]))
+        mapped_interfaces[key].append(service)
+
+    for key, value in mapped_interfaces.items():
+        r.hset(interfaces_key, key, json.dumps(value))
 
 
 def update_service_hierarchy(records):