diff --git a/console.c b/console.c
index f7a6590b653edade1fa8669df9a50b31be81255c..16d0e7a1b0e0c8dad1afa9bddd9847e64d08a8e0 100644
--- a/console.c
+++ b/console.c
@@ -163,7 +163,12 @@ consputc(int c)
       ;
   }
 
-  uartputc(c);
+  if (c == BACKSPACE) {
+    uartputc('\b');
+    uartputc(' ');
+    uartputc('\b');
+  } else
+    uartputc(c);
   cgaputc(c);
 }
 
@@ -198,6 +203,7 @@ consoleintr(int (*getc)(void))
       }
       break;
     case C('H'):  // Backspace
+    case '\x7f':
       if(input.e != input.w){
         input.e--;
         consputc(BACKSPACE);