diff --git a/SubSystems/Online_Cobalt/validation/validate b/SubSystems/Online_Cobalt/validation/validate
index 1bd9e0409eae9a8134a8c6f45cf44a1e6fdb2f10..50c77d3ec8cf9f554429fcb5314bea7827e28062 100755
--- a/SubSystems/Online_Cobalt/validation/validate
+++ b/SubSystems/Online_Cobalt/validation/validate
@@ -105,6 +105,9 @@ do
     $NO_GPU_EXIT_CODE) echo "NO GPU ON THIS NODE"
        NRNOTAPPLICABLE=$((NRNOTAPPLICABLE + 1))
        ;;
+    $NOT_ON_HEAD_EXIT_CODE) echo "CAN ONLY RUN ON HEADNODE"
+       NRNOTAPPLICABLE=$((NRNOTAPPLICABLE + 1))
+       ;;
     *) echo "ERROR (see $LOGFILE)"
        NRFAILURE=$((NRFAILURE + 1))
        NRAPPLICABLE=$((NRAPPLICABLE + 1))
diff --git a/SubSystems/Online_Cobalt/validation/validation_utils.sh b/SubSystems/Online_Cobalt/validation/validation_utils.sh
index 8298e59f0ae1fbe45d48d06622fd7e950bdef64a..aa3ac6c6a95e0e9c86b66a1a3571851b1944e2a5 100644
--- a/SubSystems/Online_Cobalt/validation/validation_utils.sh
+++ b/SubSystems/Online_Cobalt/validation/validation_utils.sh
@@ -10,6 +10,7 @@ NEED_NON_ROOT_EXIT_CODE=43
 INVALID_CLUSTER_EXIT_CODE=44
 INVALID_NODE_EXIT_CODE=45
 NO_GPU_EXIT_CODE=46
+NOT_ON_HEAD_EXIT_CODE=47
 
 check_root_privileges()
 {
@@ -41,6 +42,16 @@ check_running_on_cobalt2()
     fi
 }
 
+check_running_on_cobalt2_head()
+{
+    # early exit if not on cobalt2 cluster
+    check_running_on_cobalt2
+
+    if [[ `hostname -f` != "cbm299."* ]]; then
+        exit $NOT_ON_HEAD_EXIT_CODE
+    fi
+}
+
 check_has_nvidia_gpu()
 {
     lspci | grep -i nvidia