1a53a7
diff --git a/src/cmd/ksh93/sh/xec.c b/src/cmd/ksh93/sh/xec.c
1a53a7
--- a/src/cmd/ksh93/sh/xec.c
1a53a7
+++ b/src/cmd/ksh93/sh/xec.c
1a53a7
@@ -3529,7 +3529,7 @@ int sh_funscope(int argn, char *argv[],int(*fun)(void*),void *arg,int execflg)
1a53a7
 	}
1a53a7
 	if(jmpval)
1a53a7
 		r=shp->exitval;
1a53a7
-	if(r>SH_EXITSIG && ((r&SH_EXITMASK)==SIGINT || ((r&SH_EXITMASK)==SIGQUIT)))
1a53a7
+	if(r>SH_EXITSIG && ((r&SH_EXITMASK)==SIGINT || ((r&SH_EXITMASK)==SIGQUIT) || (getenv("_AST_KSH_SIGNAL_BUBBLE"))))
1a53a7
 		kill(getpid(),r&SH_EXITMASK);
1a53a7
 	if(jmpval > SH_JMPFUN)
1a53a7
 	{