diff --git a/kernel/console.c b/kernel/console.c
index 1e8d355..39415d6 100644
--- a/kernel/console.c
+++ b/kernel/console.c
@@ -165,7 +165,7 @@ consoleintr(int c)
       // store for consumption by consoleread().
       cons.buf[cons.e++ % INPUT_BUF_SIZE] = c;
 
-      if(c == '\n' || c == C('D') || cons.e == cons.r+INPUT_BUF_SIZE){
+      if(c == '\n' || c == C('D') || cons.e-cons.r == INPUT_BUF_SIZE){
         // wake up consoleread() if a whole line (or end-of-file)
         // has arrived.
         cons.w = cons.e;