diff --git a/src/console.c b/src/console.c
index 751a6e5cad06a57a1c3d3e7f3653dac13e2e2964..afd719cb1b697cd8c36e8b54f42678121218601d 100644
--- a/src/console.c
+++ b/src/console.c
@@ -1339,6 +1339,8 @@ boolean CON_Responder(event_t *ev)
 
 	if (input_sel != input_cur)
 		CON_InputDelSelection();
+	if (ev->type == ev_console)
+		CON_InputAddChar(key);
 
 	return true;
 }
diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index 847806270f78175624fd2fabcdcf32a0b9e0e29e..986647e72e0abae98508b3635c57b48325252505 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -652,7 +652,6 @@ void I_GetConsoleEvents(void)
 	else if (tty_con.cursor < sizeof (tty_con.buffer))
 	{
 		// push regular character
-		ev.type = ev_text;
 		ev.key = tty_con.buffer[tty_con.cursor] = key;
 		tty_con.cursor++;
 		// print the current line (this is differential)