diff --git a/src/hu_stuff.c b/src/hu_stuff.c
index e33a54305aec62471e1311337c7e52ddab704a33..a575669100bfd922f37395c7ea12ee00c20020ad 100644
--- a/src/hu_stuff.c
+++ b/src/hu_stuff.c
@@ -790,6 +790,14 @@ boolean HU_Responder(event_t *ev)
 	}
 	else // if chat_on
 	{
+		// Ignore modifier keys
+		// Note that we do this here so users can still set
+		// their chat keys to one of these, if they so desire.
+		if (ev->data1 == KEY_LSHIFT || ev->data1 == KEY_RSHIFT
+		 || ev->data1 == KEY_LCTRL || ev->data1 == KEY_RCTRL
+		 || ev->data1 == KEY_LALT || ev->data1 == KEY_RALT)
+			return true;
+
 		c = (UINT8)ev->data1;
 
 		// use console translations