diff --git a/src/hu_stuff.c b/src/hu_stuff.c
index 8a8a6498de16869b8ea8d731649879a2103df282..fbd485b0a419bcf9910d5d93cab5a93b9730f9dd 100644
--- a/src/hu_stuff.c
+++ b/src/hu_stuff.c
@@ -1170,6 +1170,13 @@ boolean HU_Responder(event_t *ev)
 			memmove(&w_chat[c_input - 1], &w_chat[c_input], strlen(w_chat) - c_input + 1);
 			c_input--;
 		}
+		else if (c == KEY_DEL)
+		{
+			if (CHAT_MUTE || c_input >= strlen(w_chat))
+				return true;
+
+			memmove(&w_chat[c_input], &w_chat[c_input + 1], strlen(w_chat) - c_input);
+		}
 
 		return true;
 	}