diff --git a/ChangeLog b/ChangeLog
index fb0e35be5860cc38b2e830e17f29527dd400a2d0..37236635ce39497a3bbfccf202040869ba7b2e1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,8 +8,8 @@ CVS code -
 	  suspending nano on the Hurd.
 - winio.c:
   update_line()
-	- back out check for (realdata[i] < 32) as it will screw high
-	  ascii characters.
+	- set realdata check to >= 1 && <= 31, lack of > 0 check screwed
+	  high ascii characters.
 - m4/gettext.m4:
 	- Back down to 1.1.3 version.
 
diff --git a/winio.c b/winio.c
index 2fb3fef7439e458d6c2b897f874572ec8568271e..ad312ae918acdce96a99dedde2efc6a9e2fbaeda 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] >= 1 && realdata[i] <= 26) {
+	} else if (realdata[i] >= 1 && realdata[i] <= 31) {
 	    /* Treat control characters as ^letter */
 	    fileptr->data[pos++] = '^';
 	    fileptr->data[pos++] = realdata[i] + 64;