diff --git a/src/sattach/sattach.c b/src/sattach/sattach.c
index a56e28a81a5349d0fdca7420c3b33444c66fb9e4..3e2904d94043d7973cdb8d1c3376246dce7d7b7f 100644
--- a/src/sattach/sattach.c
+++ b/src/sattach/sattach.c
@@ -140,8 +140,8 @@ int sattach(int argc, char *argv[])
 		log_alter(logopt, 0, NULL);
 	}
 	launch_type = slurm_get_launch_type();
-	if (launch_type && !strcmp(launch_type, "launch/poe")) {
-		error("sattach does not support LaunchType=launch/poe");
+	if (launch_type && strcmp(launch_type, "launch/slurm")) {
+		error("sattach does not support LaunchType=%s", launch_type);
 		exit(error_exit);
 	}
 	xfree(launch_type);
diff --git a/src/sbcast/sbcast.c b/src/sbcast/sbcast.c
index b53d45564b672de3bf178b6c68157d31631a91d5..b1290422693d1e22f5ddec01d6f6ede4e3a18fa3 100644
--- a/src/sbcast/sbcast.c
+++ b/src/sbcast/sbcast.c
@@ -76,6 +76,14 @@ int main(int argc, char *argv[])
 	log_options_t opts = LOG_OPTS_STDERR_ONLY;
 	log_init("sbcast", opts, SYSLOG_FACILITY_DAEMON, NULL);
 
+#ifdef HAVE_CRAY
+	error("The sbcast command is not supported on Cray systems");
+	return 1;
+#endif
+#ifdef HAVE_BG
+	error("The sbcast command is not supported on IBM BlueGene systems");
+	return 1;
+#endif
 	parse_command_line(argc, argv);
 	if (params.verbose) {
 		opts.stderr_level += params.verbose;
diff --git a/src/scancel/opt.c b/src/scancel/opt.c
index d1c94a4222c3bbffed7ceddabd9115369508ab0d..9531f3044ae66e0a166247a23cd337dd26b14901 100644
--- a/src/scancel/opt.c
+++ b/src/scancel/opt.c
@@ -213,8 +213,8 @@ static void _opt_default(void)
 #else
 {
 	char *launch_type = slurm_get_launch_type();
-	if (!strcmp(launch_type, "launch/poe") ||
-	    !strcmp(launch_type, "launch/aprun"))
+	/* do this for all but slurm (poe, aprun, etc...) */
+	if (strcmp(launch_type, "launch/slurm"))
 		opt.ctld	= true;
 	else
 		opt.ctld	= false;
diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index 89239068d1a97469373ca1774d32221010d63f14..e516592bb3508ed13cbf2802eb79aad4025ceeba 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -8694,8 +8694,8 @@ static void _signal_job(struct job_record *job_ptr, int signal)
 
 	if (notify_srun_static == -1) {
 		char *launch_type = slurm_get_launch_type();
-		if (!strcmp(launch_type, "launch/aprun") ||
-		    !strcmp(launch_type, "launch/poe"))
+		/* do this for all but slurm (poe, aprun, etc...) */
+		if (strcmp(launch_type, "launch/slurm"))
 			notify_srun_static = 1;
 		else
 			notify_srun_static = 0;
diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c
index 0c3c275a788fbb4039f7b3c0c2f26f8674eb8fb3..939c4eff05daf278f03fe89aa45263e25affc050 100644
--- a/src/slurmctld/step_mgr.c
+++ b/src/slurmctld/step_mgr.c
@@ -350,8 +350,8 @@ int job_step_signal(uint32_t job_id, uint32_t step_id,
 	static int notify_srun = -1;
 	if (notify_srun == -1) {
 		char *launch_type = slurm_get_launch_type();
-		if (!strcmp(launch_type, "launch/aprun") ||
-		    !strcmp(launch_type, "launch/poe")) {
+		/* do this for all but slurm (poe, aprun, etc...) */
+		if (strcmp(launch_type, "launch/slurm")) {
 			notify_srun = 1;
 			notify_slurmd = false;
 		} else
@@ -3303,8 +3303,8 @@ static void _signal_step_timelimit(struct job_record *job_ptr,
 		notify_srun = 1;
 #else
 		char *launch_type = slurm_get_launch_type();
-		if (!strcmp(launch_type, "launch/aprun") ||
-		    !strcmp(launch_type, "launch/poe"))
+		/* do this for all but slurm (poe, aprun, etc...) */
+		if (strcmp(launch_type, "launch/slurm"))
 			notify_srun = 1;
 		else
 			notify_srun = 0;