642af4d
diff --git a/src/cmd/ksh93/sh/xec.c b/src/cmd/ksh93/sh/xec.c
642af4d
--- a/src/cmd/ksh93/sh/xec.c
642af4d
+++ b/src/cmd/ksh93/sh/xec.c
642af4d
@@ -122,6 +122,7 @@ int iousepipe(Shell_t *shp)
642af4d
 		return(1);
642af4d
 	}
642af4d
 	subpipe[2] = sh_fcntl(fd,F_dupfd_cloexec,10);
642af4d
+ 	sh_iovalidfd(shp,subpipe[2]);
642af4d
 	shp->fdstatus[subpipe[2]] = shp->fdstatus[1];
642af4d
 	while(close(fd)<0 && errno==EINTR)
642af4d
 		errno = err;