diff --git a/src/slurmd/slurmstepd/io.c b/src/slurmd/slurmstepd/io.c
index 4b92a1a29e162bd9726f684aef318800df5e4518..b210f3c1743a17329491bddfbeadff434ed2b196 100644
--- a/src/slurmd/slurmstepd/io.c
+++ b/src/slurmd/slurmstepd/io.c
@@ -714,6 +714,8 @@ static void *_window_manager(void *arg)
 		if (ioctl(win_info->task->to_stdin, TIOCSWINSZ, &ws))
 			error("ioctl(TIOCSWINSZ): %s");
 		if (kill(win_info->task->pid, SIGWINCH)) {
+			if (errno == ESRCH)
+				break;
 			error("kill(%d, SIGWINCH): %m", 
 				(int)win_info->task->pid);
 		}
diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index 25dc8f110985f7d38dd1eadfd6502bc496263a70..5671b7cbdd3f08b8a9bd5ca08f0c7c7e3d731e34 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -954,6 +954,8 @@ _fork_all_tasks(slurmd_job_t *job)
 	jobacct_g_set_proctrack_container_id(job->cont_id);
 
 	for (i = 0; i < job->ntasks; i++) {
+		if (job->pty && (job->task[i]->gtid == 0))
+			continue;
 		/*
                  * Put this task in the step process group
                  */