diff --git a/tests/integration/project/elements/integration.bst b/tests/integration/project/elements/integration.bst
new file mode 100644
index 0000000000000000000000000000000000000000..be21ae31be02625ea60e7f6417faaf5762a7a38c
--- /dev/null
+++ b/tests/integration/project/elements/integration.bst
@@ -0,0 +1,9 @@
+kind: manual
+depends:
+- base.bst
+
+public:
+  bst:
+    integration-commands:
+    - |
+      echo noise >/dev/null
diff --git a/tests/integration/shell.py b/tests/integration/shell.py
index 18953aa2d3cbde7536d390f1ddf759739a5733c4..947650ff1f8644b5f42206064ed687a31d146e38 100644
--- a/tests/integration/shell.py
+++ b/tests/integration/shell.py
@@ -342,3 +342,13 @@ def test_sysroot_workspace_visible(cli, tmpdir, datafiles):
     ])
     assert result.exit_code == 0
     assert result.output == workspace_hello
+
+
+# Test system integration commands can access devices in /dev
+@pytest.mark.datafiles(DATA_DIR)
+def test_integration_devices(cli, tmpdir, datafiles):
+    project = os.path.join(datafiles.dirname, datafiles.basename)
+    element_name = 'integration.bst'
+
+    result = execute_shell(cli, project, ["true"], element=element_name)
+    assert result.exit_code == 0