diff --git a/src/pty/ptyc_spawn.c b/src/pty/ptyc_spawn.c
index 732f7a1..5a7e7ab 100644
--- a/src/pty/ptyc_spawn.c
+++ b/src/pty/ptyc_spawn.c
@@ -44,6 +44,9 @@ int ptyc_spawn(struct ptyc_driver_ctx * dctx)
 	sparams.argv     = dctx->cctx->eargv;
 	sparams.envp     = self->envp;
 	sparams.hsession = self->hsession;
+	sparams.hroot    = dctx->cctx->hroot
+				? dctx->cctx->hroot
+				: self->hroot;
 
 	/* rtctx */
 	ntapi->tt_aligned_block_memset(
@@ -55,9 +58,7 @@ int ptyc_spawn(struct ptyc_driver_ctx * dctx)
 		sizeof(nt_cid));
 
 	rtctx.hcwd  = self->hcwd;
-	rtctx.hroot = dctx->cctx->hroot
-			? dctx->cctx->hroot
-			: self->hroot;
+	rtctx.hroot = sparams.hroot;
 
 	rtctx.tty_type    = self->tty_type;
 	rtctx.tty_subtype = self->tty_subtype;