diff --git a/ChangeLog b/ChangeLog
index 4cabc0d810c98a94570af8ecebd3a7db6a7b8434..3ee65f3aae5e91dc7a4aa32362739391668fa641 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-09-06 Chris Allegretta <chrisa@asty.org>
+	* nano.c: Do call disable_signals at startup regardless, since under cygwin we can't generate
+	  ^C without it.
+
 GNU nano 2.1.5 - 2008.08.30
 2008-08-29 Chris Allegretta <chrisa@asty.org>
 	* configure.ac, color.c, rcfile.c, utils.c: 1st attempt at supporting systems which don't support
diff --git a/src/nano.c b/src/nano.c
index eb8678a1a44aa1ef4430ffb7fc1f69393580c8b2..0a017dd64cfba5404758a766a0ebc94de9589aaa 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1273,7 +1273,6 @@ void disable_extended_io(void)
     tcsetattr(0, TCSANOW, &term);
 }
 
-#ifdef USE_SLANG
 /* Disable interpretation of the special control keys in our terminal
  * settings. */
 void disable_signals(void)
@@ -1284,7 +1283,6 @@ void disable_signals(void)
     term.c_lflag &= ~ISIG;
     tcsetattr(0, TCSANOW, &term);
 }
-#endif
 
 #ifndef NANO_TINY
 /* Enable interpretation of the special control keys in our terminal
@@ -1351,8 +1349,8 @@ void terminal_init(void)
 	if (ISSET(PRESERVE))
 	    enable_flow_control();
 
-#ifdef USE_SLANG
 	disable_signals();
+#ifdef USE_SLANG
 	if (!ISSET(PRESERVE))
 	    disable_flow_control();