diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index 6fb8409f897ec04e4848daa724fbb6fb74e8ea42..017cb7266b15f875b8d1ef6948514de0b4660618 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -6177,6 +6177,12 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int
 								prnpos = prn;
 								cterm->escbuf[cterm->sequence++] = ch[0];
 								break;
+							case 127: // Destructive backspace
+								*prnpos++ = '\b';
+								*prnpos++ = ' ';
+								*prnpos++ = '\b';
+								*prnpos = 0;
+								break;
 							default:
 								// "Normal" ASCII... including CR and LF in here.
 								if (buf[j] == 13 || buf[j] == 10 || (buf[j] >= 32 && buf[j] <= 127)) {