diff --git a/src/srun/opt.c b/src/srun/opt.c
index 2276522b0e3cd8e7c91c89d4c46e5ff0a8f93408..5cfdccbcdf6e83f978cb55c93e28cdd12620982a 100644
--- a/src/srun/opt.c
+++ b/src/srun/opt.c
@@ -1769,6 +1769,8 @@ static void _opt_args(int argc, char **argv)
 			command_pos += 2;
 		if (_verbose)
 			command_pos += 2;
+		if (opt.quiet)
+			command_pos += 2;
 		if (opt.ifname) {
 			if (!parse_uint32(opt.ifname, &taskid)
 			    && ((int) taskid < opt.ntasks)) {
@@ -1836,6 +1838,11 @@ static void _opt_args(int argc, char **argv)
 			opt.argv[i++]  = xstrdup_printf("%d", _verbose);
 		}
 
+		if (opt.quiet) {
+			opt.argv[i++]  = xstrdup("--verbose");
+			opt.argv[i++]  = xstrdup("OFF");
+		}
+
 		if (taskid != NO_VAL) {
 			opt.argv[i++]  = xstrdup("--stdinrank");
 			opt.argv[i++]  = xstrdup_printf("%u", taskid);