diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py
index 91fb1df5d7e36ac60b4575c2bb1d91e3fd6a1ea4..6c3d438628199b5eab81f646405d3d5f01b85fd8 100644
--- a/inventory_provider/routes/classifier.py
+++ b/inventory_provider/routes/classifier.py
@@ -102,10 +102,15 @@ def after_request(resp):
     return common.after_request(resp)
 
 
-def get_ims_equipment_name(equipment_name: str) -> str:
+def get_ims_equipment_name(equipment_name: str, r: Redis=None) -> str:
+    if not r:
+        r = common.get_current_redis()
     ims_equipment_name = equipment_name.upper()
-    if ims_equipment_name.startswith('MX'):
-        ims_equipment_name = ims_equipment_name.split('.GEANT.NET')[0]
+    most_likely = ims_equipment_name.split('.GEANT.')[0]
+    loc_key = 'ims:location:{}'
+    if r.exists(loc_key.format(most_likely)) \
+            or not r.exists(loc_key.format(ims_equipment_name)):
+        ims_equipment_name = most_likely
     return ims_equipment_name
 
 
@@ -133,7 +138,7 @@ def get_related_services(source_equipment: str, interface: str, r) -> dict:
     :param r: redis connection
     :return: Dict
     """
-    ims_source_equipment = get_ims_equipment_name(source_equipment)
+    ims_source_equipment = get_ims_equipment_name(source_equipment, r)
     ims_interface = get_ims_interface(interface)
     if_services = r.get(f'ims:interface_services:{ims_source_equipment}:'
                         f'{ims_interface}')
@@ -256,11 +261,11 @@ def get_juniper_link_info(source_equipment: str, interface: str) -> Response:
     :return:
     """
 
-    ims_source_equipment = get_ims_equipment_name(source_equipment)
-    ims_interface = get_ims_interface(interface)
-
     r = common.get_current_redis()
 
+    ims_source_equipment = get_ims_equipment_name(source_equipment, r)
+    ims_interface = get_ims_interface(interface)
+
     cache_key = \
         f'classifier-cache:juniper:{ims_source_equipment}:{ims_interface}'
 
@@ -534,14 +539,15 @@ def peer_info(address_str: str) -> Response:
             result['locations'].append(build_locations(
                 _location_from_equipment(
                     get_ims_equipment_name(
-                        ix_peering_info['peer']['router']), r)))
+                        ix_peering_info['peer']['router'], r), r)))
 
         vpn_rr_peering_info = _vpn_rr_peering_info(r, address_str)
         if vpn_rr_peering_info:
             result['vpn-rr-peer-info'] = vpn_rr_peering_info
             result['locations'].append(build_locations(
                 _location_from_equipment(
-                    get_ims_equipment_name(vpn_rr_peering_info['router']), r)))
+                    get_ims_equipment_name(vpn_rr_peering_info['router'], r)
+                    , r)))
 
         asn_group_info = _asn_group_info(r, address_str)
         if asn_group_info:
@@ -549,7 +555,7 @@ def peer_info(address_str: str) -> Response:
 
         contacts = set()
         for interface in find_interfaces(address):
-            ims_equipment = get_ims_equipment_name(interface["router"])
+            ims_equipment = get_ims_equipment_name(interface["router"], r)
             ims_interface = get_ims_interface(interface["interface name"])
 
             services_and_locs = get_interface_services_and_loc(
@@ -608,12 +614,12 @@ def get_trap_metadata(source_equipment: str, interface: str, circuit_id: str) \
     :return:
     """
 
-    ims_source_equipment = get_ims_equipment_name(source_equipment)
+    r = common.get_current_redis()
+    ims_source_equipment = get_ims_equipment_name(source_equipment, r)
     ims_interface = get_ims_interface(interface)
 
     cache_key = f'classifier-cache:infinera:{source_equipment}:{interface}'
 
-    r = common.get_current_redis()
 
     result = _ignore_cache_or_retrieve(request, cache_key, r)
 
@@ -822,7 +828,7 @@ def get_coriant_info(equipment_name: str, entity_string: str) -> Response:
 
     r = common.get_current_redis()
 
-    ims_source_equipment = get_ims_equipment_name(equipment_name)
+    ims_source_equipment = get_ims_equipment_name(equipment_name, r)
     ims_interface = get_ims_interface(entity_string)
 
     cache_key = 'classifier-cache:coriant:' \