diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py
index d2b46d342a1793562e52aa5cd04ca265c88a480c..732d614b02cdc65b85a01f94b6876e6d106a379f 100644
--- a/inventory_provider/routes/classifier.py
+++ b/inventory_provider/routes/classifier.py
@@ -175,12 +175,15 @@ def get_interface_services_and_loc(ims_source_equipment, ims_interface, redis):
         keys_to_remove = set(_s.keys()) - keys
         for k in keys_to_remove:
             _s.pop(k)
+
+    result = {}
+
     raw_services = redis.get(
         f'ims:interface_services:{ims_source_equipment}:{ims_interface}')
-    result = {}
     if raw_services:
-        result['services'] = []
+        # result['services'] = []
         related_services = {}
+        services = {}
         contacts = set()
         for s in json.loads(raw_services.decode('utf-8')):
             related_services.update(
@@ -188,9 +191,16 @@ def get_interface_services_and_loc(ims_source_equipment, ims_interface, redis):
             contacts.update(set(s.pop('contacts', set())))
             if s['circuit_type'] == 'service':
                 _format_service(s)
-                result['services'].append(s)
+                services['id'] = s
+
+        def _sorted_by_name(things_with_name):
+            return sorted(
+                list(things_with_name),
+                key=lambda x: x['name'])
+
         result['contacts'] = sorted(list(contacts))
-        result['related-services'] = list(related_services.values())
+        result['services'] = _sorted_by_name(services.values())
+        result['related-services'] = _sorted_by_name(related_services.values())
 
         if not result['services']:
             result.pop('services', None)