diff --git a/src/nano.c b/src/nano.c
index a6c6a7683a0f08ba50072625ee2cc1fa79fa443a..f60a33869f686e82d00d12d97a01c6f1ef8f8023 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1338,6 +1338,8 @@ void terminal_init(void)
 
 #ifdef USE_SLANG
 	disable_signals();
+	if (!ISSET(PRESERVE))
+	    disable_flow_control();
 
 	tcgetattr(0, &newterm);
 	newterm_set = TRUE;