diff --git a/ChangeLog b/ChangeLog
index 799b5d4e3bb96d1379bc3e3757ff15d7981a28e8..799c1ca13eaf3dee13bcda1fef0bdc3639b7915e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -90,6 +90,9 @@ CVS code -
   do_first_line()
 	- Call edit_update() with TOP instead of CENTER; both do the
 	  same thing, but it works faster with TOP. (DLR)
+  nanogetstr()
+	- Don't let the user type in ASCII 127 at the statusbar prompt.
+	  (DLR)
   titlebar()
 	- Fix problem with the available space for a filename on the
 	  titlebar's being short by one. (DLR)
diff --git a/src/winio.c b/src/winio.c
index 44583401437772229a0010b43351db4ae9e77440..22056d79993aabd3ac02a6b085bd5ea9bd14c0f3 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -537,7 +537,7 @@ int nanogetstr(int allowtabs, const char *buf, const char *def,
 	    fprintf(stderr, "Aha! \'%c\' (%d)\n", kbinput, kbinput);
 #endif
 
-	    if (kbinput == t->val && kbinput < 32) {
+	    if (kbinput == t->val && (kbinput < 32 || kbinput == 127)) {
 
 #ifndef DISABLE_HELP
 		/* Have to do this here, it would be too late to do it
@@ -727,7 +727,7 @@ int nanogetstr(int allowtabs, const char *buf, const char *def,
 			return t->val;
 		}
 
-	    if (kbinput < 32)
+	    if (kbinput < 32 || kbinput == 127)
 		break;
 	    answer = charealloc(answer, xend + 2);
 	    memmove(answer + x + 1, answer + x, xend - x + 1);