diff --git a/src/srun/opt.c b/src/srun/opt.c
index bee7175f8dfe97a9b9d60e7f20213ef092ac4e2b..7c9474ced091a03894ff656541dad1f06d90827c 100644
--- a/src/srun/opt.c
+++ b/src/srun/opt.c
@@ -846,7 +846,10 @@ static void _opt_args(int argc, char **argv)
 			break;
 		case (int)'e':
 			xfree(opt.efname);
-			opt.efname = xstrdup(optarg);
+			if (strncasecmp(optarg, "none", (size_t) 4) == 0)
+				opt.efname = xstrdup("/dev/null");
+			else
+				opt.efname = xstrdup(optarg);
 			break;
 		case (int)'g':
 			if (_verify_geometry(optarg, opt.geometry))
@@ -904,7 +907,10 @@ static void _opt_args(int argc, char **argv)
 			break;
 		case (int)'o':
 			xfree(opt.ofname);
-			opt.ofname = xstrdup(optarg);
+			if (strncasecmp(optarg, "none", (size_t) 4) == 0)
+				opt.ofname = xstrdup("/dev/null");
+			else
+				opt.ofname = xstrdup(optarg);
 			break;
 		case (int)'O':
 			opt.overcommit = true;