diff --git a/src/scripts/create-item.lua b/src/scripts/create-item.lua
index b9d4b82a633df9f959db06f76cf2cad85992e84c..d9c5e158b4b2001352e07ddea51ea4cc3a6d07c8 100644
--- a/src/scripts/create-item.lua
+++ b/src/scripts/create-item.lua
@@ -28,16 +28,15 @@ function addItem (node, item_type)
   end)
 end
 
-nodes_om = ObjectManager { Interest { type = "node" } }
+nodes_om = ObjectManager { Interest { type = "node",
+  Constraint { "media.class", "c",
+    "Stream/Input/Audio", "Stream/Output/Audio", "Stream/Input/Video",
+    "Audio/Source", "Audio/Sink", "Video/Source",
+    type = "pw-global" },
+} }
 
 nodes_om:connect("object-added", function (om, node)
   local media_class = node.properties['media.class']
-
-  -- skip nodes without media class
-  if media_class == nil then
-    return
-  end
-
   if string.find (media_class, "Audio") then
     addItem (node, "si-audio-adapter")
   else