diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index 33cbab6f1185c8b608f53ac5b2f544077ba3f3de..1d41d539eb8a5586e5f3cbcc4df789c37f052154 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -22,7 +22,7 @@ from inventory_provider.db import ims_data
 from inventory_provider.db.ims import IMS
 from inventory_provider.routes.classifier import get_ims_interface, \
     get_ims_equipment_name
-from inventory_provider.routes.common import load_json_docs, load_snmp_indexes
+from inventory_provider.routes.common import load_snmp_indexes
 from inventory_provider.routes.poller import _load_interfaces, \
     _load_interface_bundles, _get_dashboard_data, _get_dashboards, \
     _load_services
@@ -1850,6 +1850,10 @@ def populate_poller_interfaces_cache():
     )
     snmp_indexes = load_snmp_indexes(use_next_redis=True)
 
+    services = _load_services(InventoryTask.config, use_next_redis=True)
+
+    r = get_next_redis(InventoryTask.config)
+
     def _get_populated_interfaces(interfaces):
         for ifc in interfaces:
 
@@ -1862,8 +1866,8 @@ def populate_poller_interfaces_cache():
                     base_ifc = ifc['name'].split('.')[0]
                     ifc['bundle-parents'] = router_bundle.get(base_ifc, [])
 
-                router_services = _load_services(
-                    InventoryTask.config, use_next_redis=True)
+                router_services = services.get(
+                    get_ims_equipment_name(ifc['router'], r), None)
                 if router_services:
                     ifc['circuits'] = router_services.get(
                         get_ims_interface(ifc['name']), []
@@ -1877,11 +1881,10 @@ def populate_poller_interfaces_cache():
 
     non_lab_populated_interfaces = \
         list(_get_populated_interfaces(standard_interfaces))
-    r = get_next_redis(InventoryTask.config)
     cache_key = 'classifier-cache:poller-interfaces:no-lab'
-    r.set(cache_key, json.dumps(non_lab_populated_interfaces).encode('utf-8'))
+    r.set(cache_key, json.dumps(non_lab_populated_interfaces))
 
     all_populated_interfaces = non_lab_populated_interfaces + \
         list(_get_populated_interfaces(lab_interfaces))
-    cache_key = 'classifier-cache:poller-interfaces:all:all'
-    r.set(cache_key, json.dumps(all_populated_interfaces).encode('utf-8'))
+    cache_key = 'classifier-cache:poller-interfaces:all'
+    r.set(cache_key, json.dumps(all_populated_interfaces))