diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index e0330a0cbafcca85343abca4899889c61f4465ff..84e39ae4ef49fabed1f0d52238c2f085c2dd0aae 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -582,17 +582,17 @@ def update_interfaces_to_services(self, use_current=False):
             s['other_end_equipment'] = ''
             s['other_end_port'] = ''
 
-        s['other_end_card_d'] = ''  # this is redundant I believe
-        s['other_end_logical_unit'] = ''  # this is redundant I believe
-        s['manufacturer'] = ''  # this is redundant I believe
         s.pop('port_a_id', None)
         s.pop('port_b_id', None)
 
     for port_info in port_id_details.values():
+        service_ids = set()
         services = []
         for service in port_id_services[port_info['port_id']]:
-            _format_service(service)
-            services.append(service)
+            if service['id'] not in service_ids:
+                _format_service(service)
+                services.append(service)
+                service_ids.add(service['id'])
 
         rp.set(
             f'ims:interface_services:{port_info["equipment_name"]}:'