diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py
index 6e784d7a4f8f3f0b3c62ce13c21cb0021c86e997..2bcf558da303a54b1855fd8361aaa55e1ae3ef9d 100644
--- a/brian_dashboard_manager/grafana/provision.py
+++ b/brian_dashboard_manager/grafana/provision.py
@@ -303,18 +303,20 @@ def _provision_interfaces(config, org_config, ds_name, token):
 
     excluded_nrens = org_config['excluded_nrens']
 
-    def excluded(interface):
-        desc = interface['description'].lower()
-        lab = 'lab.office' in interface['router'].lower()
-        to_exclude = any(nren.lower() in desc for nren in excluded_nrens)
-        if not (to_exclude or lab):
-            if 'dashboards_info' not in interface:
-                to_exclude = True
-                logger.info(f'No "dashboards_info" for '
-                            f'{interface["router"]}:{interface["name"]}')
-        return not (to_exclude or lab)
-
-    relevant_interfaces = list(filter(excluded, interfaces))
+    def interfaces_to_keep(interface):
+        dash_info = interface.get('dashboards_info')
+        if dash_info is None:
+            logger.info(f'No "dashboards_info" for '
+                        f'{interface["router"]}:{interface["name"]}')
+            # throw it away
+            return False
+        dashboards = {nren['name'].lower() for nren in dash_info}
+        is_lab_router = 'lab.office' in interface['router'].lower()
+        should_keep = not (is_lab_router or any(
+            nren.lower() in dashboards for nren in excluded_nrens))
+        return should_keep
+
+    relevant_interfaces = list(filter(interfaces_to_keep, interfaces))
     for interface in relevant_interfaces:
         interface['dashboards_info'] = list(filter(
             lambda x: x['name'] != '',