diff --git a/src/console.c b/src/console.c
index 93b9fb54d022d71b0917c6a4cd351d2acda4d1e1..e4bdec0cea6aa7dfefa5c4cfcbca410537448fac 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 8faf56d3bb9308e3c6ce571edbddbf0031bea704..f03ea6226516836612195a39022723e5df11e148 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)