diff --git a/src/color.c b/src/color.c
index d7888697533ed92fde1a45af64a7095c1120d387..e5ef9633dbe438935dd42a77a42be12202e885b5 100644
--- a/src/color.c
+++ b/src/color.c
@@ -401,10 +401,15 @@ void alloc_multidata_if_needed(filestruct *fileptr)
 bool key_was_pressed(void)
 {
     static time_t last_time = 0;
+    int onebyte;
 
     if (time(NULL) != last_time) {
 	last_time = time(NULL);
-	return (wgetch(edit) != ERR);
+	onebyte = wgetch(edit);
+	if (onebyte == ERR)
+	    return FALSE;
+	ungetch(onebyte);
+	return TRUE;
     } else
 	return FALSE;
 }