diff --git a/ChangeLog b/ChangeLog
index 57673256e7733e4e1860d785885bdae59aa52edc..6e52380bec278120fbf4b51a891b5bae88f96e05 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -242,6 +242,9 @@ CVS code -
   disable_extended_input()
 	- Disable extended output processing as well as extended input
 	  processing, and rename to disable_extended_io(). (DLR)
+  disable_flow_control(), enable_flow_control()
+	- Only turn off flow control on output, as it might be needed
+	  for input on slow terminals. (DLR)
 - nano.h:
 	- Add macro charset(), a wrapper that calls memset(). (DLR)
 	- Readd #defines for the isblank() and iswblank() equivalents.
diff --git a/src/nano.c b/src/nano.c
index 951b909c3faa30fd84a9008902e89bb32b8ac945..66962fa489cd5ed60fdde597c75d885adcc3ca46 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -3744,7 +3744,7 @@ void disable_flow_control(void)
     struct termios term;
 
     tcgetattr(0, &term);
-    term.c_iflag &= ~(IXON|IXOFF);
+    term.c_iflag &= ~IXON;
     tcsetattr(0, TCSANOW, &term);
 }
 
@@ -3753,7 +3753,7 @@ void enable_flow_control(void)
     struct termios term;
 
     tcgetattr(0, &term);
-    term.c_iflag |= (IXON|IXOFF);
+    term.c_iflag |= IXON;
     tcsetattr(0, TCSANOW, &term);
 }