diff --git a/ChangeLog b/ChangeLog
index 1b8283689e68f0ab2dfdcc252305dafc8da05c6a..6af73d3c3e4c9c9df6354e8980d6b43aef8642f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,10 @@ CVS code -
   signal_init()
 	- Unconditionally disable VDSUSP if it exists, stops ^Y
 	  suspending nano on the Hurd.
+- winio.c:
+  update_line()
+	- back out check for (realdata[i] < 32) as it will screw high
+	  ascii characters.
 
 nano-1.1.4 - 12/11/2001
 - General
diff --git a/winio.c b/winio.c
index 88bcf628e684b8873cf961d98953caf089c9c244..2fb3fef7439e458d6c2b897f874572ec8568271e 100644
--- a/winio.c
+++ b/winio.c
@@ -1027,7 +1027,7 @@ void update_line(filestruct * fileptr, int index)
 		virt_cur_x--;
 	    if (i < mark_beginx)
 		virt_mark_beginx--;
-	} else if (realdata[i] < 32) {
+	} else if (realdata[i] >= 1 && realdata[i] <= 26) {
 	    /* Treat control characters as ^letter */
 	    fileptr->data[pos++] = '^';
 	    fileptr->data[pos++] = realdata[i] + 64;