diff --git a/brian_polling_manager/interfaces.py b/brian_polling_manager/interfaces.py
index b295dc7f0be907bfec1e5a3549c2295b81156c4d..bdcfbbec2b030115e286a3eebf19bdccf7db7876 100644
--- a/brian_polling_manager/interfaces.py
+++ b/brian_polling_manager/interfaces.py
@@ -1,5 +1,6 @@
 import logging
 import re
+from typing import Optional
 
 from brian_polling_manager import sensu
 
@@ -38,10 +39,16 @@ class NetconfRouterCheck(sensu.AbstractCheck):
     METRIC_FORMAT = ""
     METRIC_HANDLERS = None
 
-    def __init__(self, ifc_check_params, router: str):
+    def __init__(self, ifc_check_params, router: str, vendor: Optional[str] = None):
         super().__init__()
         self.ifc_check_params = ifc_check_params
         self.router = router
+        self.vendor = vendor or self.vendor_from_router_name(router)
+
+    @staticmethod
+    def vendor_from_router_name(router):
+        # Hacky vendor check
+        return "nokia" if router.startswith("rt0") else "juniper"
 
     @sensu.AbstractCheck.name.getter
     def name(self):
@@ -53,7 +60,7 @@ class NetconfRouterCheck(sensu.AbstractCheck):
             hostname=self.router,
             config=self.ifc_check_params["config"],
             script=self.ifc_check_params["script"],
-            args=f"--juniper {self.router} --all",
+            args=f"--{self.vendor} {self.router} --all",
         )
 
     @sensu.AbstractCheck.proxy_entity_name.getter
@@ -62,11 +69,13 @@ class NetconfRouterCheck(sensu.AbstractCheck):
 
 
 def refresh(sensu_params, inventory_interfaces):
-    routers = {ifc["router"] for ifc in inventory_interfaces}
+    routers_w_vendor = {
+        (ifc["router"], ifc.get("vendor")) for ifc in inventory_interfaces
+    }
 
     required_checks = [
-        NetconfRouterCheck(sensu_params["interface-check"], router)
-        for router in routers
+        NetconfRouterCheck(sensu_params["interface-check"], router, vendor=vendor)
+        for router, vendor in routers_w_vendor
     ]
 
     r1 = sensu.refresh(sensu_params, [], load_deprecated_ifc_checks(sensu_params))
diff --git a/brian_polling_manager/inventory.py b/brian_polling_manager/inventory.py
index 23a67e0216f6e59a2043109dc9b793abe3ebf514..f9838a306c84ca16448533512034886b4ddc5d53 100644
--- a/brian_polling_manager/inventory.py
+++ b/brian_polling_manager/inventory.py
@@ -40,7 +40,7 @@ INVENTORY_INTERFACES_SCHEMA = {
                 'router': {'type': 'string'},
                 'name': {'type': 'string'},
             },
-            'required': ['router', 'name',],
+            'required': ['router', 'name'],
         }
     },
 
diff --git a/test/conftest.py b/test/conftest.py
index f70af73fa6b8debce59ef3a3e1527a7ae4965b10..e2bd49b1f5ce643b6aefb26d57925b9947fb3360 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -118,11 +118,14 @@ def mocked_sensu():
         "additionalProperties": True,
     }
 
+    def get_checks(_):
+        return (200, {}, json.dumps(list(saved_sensu_checks.values())))
+
     # mocked api for returning all checks
     responses.add_callback(
         method=responses.GET,
         url=re.compile(r".*sensu.+/api/core/v2/namespaces/[^\/]+/checks$"),
-        callback=lambda _: (200, {}, json.dumps(list(saved_sensu_checks.values()))),
+        callback=get_checks,
     )
 
     def new_check_callback(request):
diff --git a/test/data/interfaces.json b/test/data/interfaces.json
index da1e1231cf5cf96bc4c465a8a432fd9ce5bbdabb..04a1eeda7b4c115e6950e92ecac6d25f420c0a9e 100644
--- a/test/data/interfaces.json
+++ b/test/data/interfaces.json
@@ -46,5 +46,14 @@
             }
         ],
         "snmp-index": 9999
+    },
+    {
+        "router": "rt0.on.uk.lab.office.geant.net",
+        "name": "1/1/c2/3",
+        "bundle": [],
+        "bundle-parents": [],
+        "description": "blah blah nokia router",
+        "circuits": [],
+        "snmp-index": 9999
     }
 ]
diff --git a/test/test_sensu_checks.py b/test/test_sensu_checks.py
index 31e0998c46033005c141e5ffd577dd2f906ae774..fd03063c802896b28b1c9310afffc16541619536 100644
--- a/test/test_sensu_checks.py
+++ b/test/test_sensu_checks.py
@@ -53,14 +53,29 @@ def test_router_check(config):
     assert check["output_metric_handlers"] == []
 
 
+def test_nokia_router_check(config):
+    check = interfaces.NetconfRouterCheck(
+        config["sensu"]["interface-check"], "xyz", vendor="nokia"
+    ).to_dict()
+    assert check["command"] == (
+        "/home/brian_checks/venv/get-interface-stats "
+        "--config /var/lib/sensu/conf/get-interface-stats.config.json "
+        "--nokia xyz --all"
+    )
+    assert check["proxy_entity_name"] == "xyz"
+    assert check["metadata"]["name"] == "rtr-xyz"
+    assert check["output_metric_format"] == ""
+    assert check["output_metric_handlers"] == []
+
+
 @responses.activate
 def test_cleans_up_old_interface_checks(config, mocked_sensu, mocked_inventory):
     routers = inventory.load_interfaces("http://inventory1")
     result = interfaces.refresh(config["sensu"], inventory_interfaces=routers)
-    assert result == {"checks": 3, "input": 2, "created": 2, "updated": 0, "deleted": 3}
+    assert result == {"checks": 3, "input": 3, "created": 3, "updated": 0, "deleted": 3}
     sensu.clear_cached_values()
     result = interfaces.refresh(config["sensu"], inventory_interfaces=routers)
-    assert result == {"checks": 2, "input": 2, "created": 0, "updated": 0, "deleted": 0}
+    assert result == {"checks": 3, "input": 3, "created": 0, "updated": 0, "deleted": 0}
 
 
 @responses.activate
@@ -69,7 +84,7 @@ def test_runs_idempotent(config, mocked_sensu, mocked_inventory):
     interfaces.refresh(config["sensu"], inventory_interfaces=routers)
     sensu.clear_cached_values()
     result = interfaces.refresh(config["sensu"], inventory_interfaces=routers)
-    assert result == {"checks": 2, "input": 2, "created": 0, "updated": 0, "deleted": 0}
+    assert result == {"checks": 3, "input": 3, "created": 0, "updated": 0, "deleted": 0}
 
 
 class DummyCheck(sensu.AbstractCheck):