diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c
index 6a5ec3daaed3f2aaf1564d9a9f71c66e09d1fb62..dbaa7037ae41f8e5f65af52a16b1cd1334c4ecdf 100644
--- a/src/sdl/i_video.c
+++ b/src/sdl/i_video.c
@@ -580,6 +580,8 @@ static void Impl_HandleWindowEvent(SDL_WindowEvent evt)
 			if (cv_usemouse.value) I_StartupMouse();
 		}
 		//else firsttimeonmouse = SDL_FALSE;
+
+		capslock = !!( SDL_GetModState() & KMOD_CAPS );// in case CL changes
 	}
 	else if (!mousefocus && !kbfocus)
 	{