diff --git a/src/d_clisrv.c b/src/d_clisrv.c
index 75956d65f9b4d35b2b4d120e2a40652fe505f8f3..9f65fdf8b0ec420d9219ec1fa0c7cfc193a75498 100644
--- a/src/d_clisrv.c
+++ b/src/d_clisrv.c
@@ -2076,8 +2076,8 @@ static boolean CL_ServerConnectionTicker(boolean viams, const char *tmpsave, tic
 
 		I_OsPolling();
 		key = I_GetKey();
-		// For some reason, gamekeydown[gamecontrol[gc_brake][0]] is always true here, so we're just going to check the second to fourth buttons.
-		if (key == KEY_ESCAPE || key == KEY_JOY1+1 || key == KEY_JOY1+2 || key == KEY_JOY1+3) 
+		// Any key can be used to abort network connection
+		if (key != KEY_NULL) 
 		{
 			CONS_Printf(M_GetText("Network game synchronization aborted.\n"));
 //				M_StartMessage(M_GetText("Network game synchronization aborted.\n\nPress ESC\n"), NULL, MM_NOTHING);
diff --git a/src/hu_stuff.c b/src/hu_stuff.c
index 4bd0994cb72c9e1e978d29cc6b672e78c83fa211..fd3bf436266393216d162f50cfac4d63fa448f75 100644
--- a/src/hu_stuff.c
+++ b/src/hu_stuff.c
@@ -1184,8 +1184,8 @@ boolean HU_Responder(event_t *ev)
 		 || ev->data1 == KEY_LALT || ev->data1 == KEY_RALT)
 			return true;
 
-		// Ignore joystick hats, except when the talk key is bound
-		if (ev->data1 >= KEY_HAT1 && ev->data1 <= KEY_HAT1+3 
+		// Ignore non-keyboard keys, except when the talk key is bound
+		if (ev->data1 >= KEY_MOUSE1 
 		&& (ev->data1 != gamecontrol[gc_talkkey][0] 
 		&& ev->data1 != gamecontrol[gc_talkkey][1]))
 			return false;