diff --git a/inventory_provider/juniper.py b/inventory_provider/juniper.py
index 2925b7075cc6055e1c21b81e8429a2fa47030450..d7eca477fb5ecf567c1dc4121e928c9d878ebb1f 100644
--- a/inventory_provider/juniper.py
+++ b/inventory_provider/juniper.py
@@ -209,6 +209,8 @@ def list_interfaces(netconf_config):
     """
 
     def _ifc_info(e):
+        # warning: this structure should match the default
+        #          returned from routes.classifier.juniper_link_info
         name = e.find('name')
         assert name is not None, "expected interface 'name' child element"
         ifc = {
diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py
index c8c36c5e0b17750dad8aaf38bea368b78f9fdefc..c29d2d8ed8c239d92e5e10c9e5de031d18e65dd9 100644
--- a/inventory_provider/routes/classifier.py
+++ b/inventory_provider/routes/classifier.py
@@ -107,6 +107,16 @@ def get_juniper_link_info(source_equipment, interface):
             'netconf-interfaces:%s:%s' % (source_equipment, interface))
         if ifc_info:
             result['interface'] = json.loads(ifc_info.decode('utf-8'))
+        else:
+            # warning: this should match the structure returned by
+            #          juniper:list_interfaces:_ifc_info
+            result['interface'] = {
+                'name': interface,
+                'description': '',
+                'bundle': [],
+                'ipv4': [],
+                'ipv6': []
+            }
 
         def _related_services():
             for related in related_interfaces(source_equipment, interface):
@@ -123,12 +133,14 @@ def get_juniper_link_info(source_equipment, interface):
             related_services.extend(top_level_services)
             result['related-services'] = related_services
 
-        if not result:
-            return Response(
-                response="no available info for {} {}".format(
-                    source_equipment, interface),
-                status=404,
-                mimetype="text/html")
+        # no longer possible, now that at least 'interface' is
+        # returned for unknown interfaces
+        # if not result:
+        #     return Response(
+        #         response="no available info for {} {}".format(
+        #             source_equipment, interface),
+        #         status=404,
+        #         mimetype="text/html")
 
         result = json.dumps(result)
         # cache this data for the next call