diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index c8be862de06e2d0147a4fba942511910ac0b758b..19a3e5e4710de47df559ffa4056edfe60ebfccd8 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -866,7 +866,7 @@ INT32 I_GetJoystickDeviceIndex(SDL_Joystick *dev)
 		SDL_Joystick *test = SDL_JoystickOpen(i);
 		if (test && test == dev)
 			return i;
-		else if (JoyInfo.dev != test && JoyInfo2.dev != test)
+		else if (JoyInfo.dev != test && JoyInfo2.dev != test && JoyInfo3.dev != test && JoyInfo4.dev != test)
 			SDL_JoystickClose(test);
 	}