diff --git a/src/console.c b/src/console.c
index 7cad4aee533792f86f923dffed9f416f9ffb1e93..ed99dd8b670fcaea62893db32a5f224f0ff76a61 100644
--- a/src/console.c
+++ b/src/console.c
@@ -918,14 +918,15 @@ boolean CON_Responder(event_t *ev)
 	static INT32 alias_skips;
 
 	const char *cmd = NULL;
-	INT32 key = ev->key;
+	INT32 type = ev->type;
+	INT32 key = G_RemapGamepadEvent(ev, &type);
 	boolean key_is_console = (key == gamecontrol[GC_CONSOLE][0] || key == gamecontrol[GC_CONSOLE][1]);
 
 	if (chat_on)
 		return false;
 
 	// let go keyup events, don't eat them
-	if (ev->type != ev_keydown && ev->type != ev_console)
+	if (type != ev_keydown && type != ev_console)
 	{
 		if (key_is_console)
 			consdown = false;
@@ -933,7 +934,7 @@ boolean CON_Responder(event_t *ev)
 	}
 
 	// check for console toggle key
-	if (ev->type != ev_console)
+	if (type != ev_console)
 	{
 		if (modeattacking || metalrecording || marathonmode)
 			return false;
diff --git a/src/f_finale.c b/src/f_finale.c
index 307e00aaa2d26118672b1d173be0b6ffa7011256..9f5380315f0df7c1f6200b31873ea43c8bf54d0c 100644
--- a/src/f_finale.c
+++ b/src/f_finale.c
@@ -3828,7 +3828,7 @@ boolean F_ContinueResponder(event_t *event)
 
 	if (timetonext >= 21*TICRATE/2)
 		return false;
-	if (event->type != ev_keydown)
+	if (type != ev_keydown)
 		return false;
 
 	// remap virtual keys (mouse & gamepad buttons)