diff --git a/configure/E3/CONFIG_CELL b/configure/E3/CONFIG_CELL
index 4dafb395cb505e6ece363821c17f714cfaf02548..f4b7e12c5408c0247d7d3d28cdd31309d29bb666 100644
--- a/configure/E3/CONFIG_CELL
+++ b/configure/E3/CONFIG_CELL
@@ -1,6 +1,11 @@
 
 # TOP is e3-MODULENAME
 ifneq (,$(findstring cell,$(MAKECMDGOALS)))
+# Check if non cell targets are being called
+NON_CELL_TARGETS=install uninstall build debug rebuild vars
+ifneq (,$(filter $(NON_CELL_TARGETS),$(MAKECMDGOALS)))
+  $(error cell targets cannot be called with non cell targets on the same command line)
+endif
 ## Default is e3-MODULENAME/cellMods
 E3_CELL_PATH=$(TOP)/cellMods
 ##
diff --git a/tests/test_build.py b/tests/test_build.py
index ec80caba10bcab1d86dc3cc78f848ad1e4665f9f..74af2b9ef33435ed28bb2fad301cf276deebd03b 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -607,3 +607,23 @@ def test_double_install_fails(wrapper: Wrapper, module_version):
         ),
         errs,
     )
+
+
+@pytest.mark.parametrize(
+    "targets",
+    [
+        ["cellbuild", "build"],
+        ["cellinstall", "install"],
+        ["vars", "cellbuild"],
+        ["debug", "cellinstall"],
+        ["cellbuild", "uninstall"],
+    ],
+    ids=["build", "install", "vars", "debug", "uninstall"],
+)
+def test_target_fails_with_celltarget(wrapper: Wrapper, targets):
+    rc, _, errs = wrapper.run_make(targets[0], targets[1])
+    assert rc != 0
+    assert (
+        "cell targets cannot be called with non cell targets on the same command line"
+        in errs
+    )