diff --git a/src/salloc/salloc.c b/src/salloc/salloc.c
index c4191e5c362dd2fd83fe26bfb7e15866ccbb4375..430317395676d624ef67a2199a68881236d98153 100644
--- a/src/salloc/salloc.c
+++ b/src/salloc/salloc.c
@@ -249,10 +249,14 @@ int main(int argc, char *argv[])
 		 * after first making sure stdin is not redirected.
 		 */
 	} else if ((tpgid = tcgetpgrp(STDIN_FILENO)) < 0) {
+#ifdef HAVE_CRAY
+		verbose("no controlling terminal");
+#else
 		if (!opt.no_shell) {
 			error("no controlling terminal: please set --no-shell");
 			exit(error_exit);
 		}
+#endif
 #ifdef SALLOC_RUN_FOREGROUND
 	} else if ((!opt.no_shell) && (pid == getpgrp())) {
 		if (tpgid == pid)