diff --git a/src/plugins/launch/aprun/launch_aprun.c b/src/plugins/launch/aprun/launch_aprun.c
index d19da2c0560ea80ab6c344f6e55e3a4347de923a..b2d0e6896a8dd4242388a0c0120e7718842ee676 100644
--- a/src/plugins/launch/aprun/launch_aprun.c
+++ b/src/plugins/launch/aprun/launch_aprun.c
@@ -333,7 +333,7 @@ extern int launch_p_setup_srun_opt(char **rest)
 		opt.argv[command_pos++] = xstrdup_printf("%u", tasks_per_node);
 	}
 
-	if (opt.ntasks) {
+	if (opt.ntasks && !opt.multi_prog) {
 		opt.argc += 2;
 		xrealloc(opt.argv, opt.argc * sizeof(char *));
 		opt.argv[command_pos++] = xstrdup("-n");
@@ -483,19 +483,12 @@ extern int launch_p_setup_srun_opt(char **rest)
 
 	*/
 
-	if (opt.multi_prog)
+	if (opt.multi_prog) {
 		_handle_multi_prog(rest[0], &command_pos);
-
-	if (opt.launch_cmd) {
-		int i = 0;
-		char *cmd_line = NULL;
-
-		while (opt.argv[i])
-			xstrfmtcat(cmd_line, "%s ", opt.argv[i++]);
-		printf("%s\n", cmd_line);
-		xfree(cmd_line);
-		exit(0);
+		/* just so we don't tack on the script to the aprun line */
+		command_pos = opt.argc;
 	}
+
 	return command_pos;
 }