diff --git a/tests/test_build.py b/tests/test_build.py
index 21e64be641ccbfb4b3a78742ed7b8bd3b8b39292..0322512599f8472bf9243bd3cb13ed546e929c43 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -190,6 +190,54 @@ def test_automated_dependency(wrappers):
         assert f"{wrapper_b.name} {module_version}" == contents[1]
 
 
+def test_missing_dependency(wrappers):
+    wrapper_a = wrappers.get()
+    wrapper_b = wrappers.get()
+
+    wrapper_a.add_var_to_config_module(f"{wrapper_b.name}_DEP_VERSION", "bar")
+
+    rc, _, errs = wrapper_a.run_make("build")
+    assert rc == 0
+    assert f'Invalid dependency "{wrapper_b.name}_DEP_VERSION"; pruning' in errs
+
+
+def test_architecture_dependent_dependency(wrappers):
+    wrapper_a = wrappers.get()
+    wrapper_b = wrappers.get()
+    wrapper_c = wrappers.get()
+
+    cell_path = wrapper_a.path / "cellMods"
+
+    module_version = "0.0.0+0"
+
+    wrapper_a.add_var_to_config_module(
+        f"{wrapper_b.name}_DEP_VERSION_linux", module_version
+    )
+    wrapper_a.add_var_to_config_module(
+        f"{wrapper_c.name}_DEP_VERSION_not_an_arch", module_version
+    )
+
+    rc, *_ = wrapper_c.run_make(
+        "cellinstall", module_version=module_version, cell_path=cell_path
+    )
+    assert rc == 0
+    rc, *_ = wrapper_b.run_make(
+        "cellinstall", module_version=module_version, cell_path=cell_path
+    )
+    assert rc == 0
+    rc, *_ = wrapper_a.run_make(
+        "cellinstall", module_version=module_version, cell_path=cell_path
+    )
+    assert rc == 0
+
+    rc, outs, _ = run_ioc_get_output(
+        wrapper_a.name, module_version, wrapper_a.path / "cellMods"
+    )
+    assert rc == 0
+    assert f"Loaded {wrapper_b.name} version {module_version}" in outs
+    assert f"Loaded {wrapper_c.name} version {module_version}" not in outs
+
+
 def test_recursive_header_include(wrappers):
     wrapper_a = wrappers.get()
     wrapper_b = wrappers.get()