diff --git a/src/video/sdl.cpp b/src/video/sdl.cpp
index 04c739023..6cd3d9282 100644
--- a/src/video/sdl.cpp
+++ b/src/video/sdl.cpp
@@ -562,14 +562,17 @@ static void SdlDoEvent(const EventCallback &callbacks, SDL_Event &event)
 
 	switch (event.type) {
 		case SDL_MOUSEBUTTONDOWN:
+			event.button.y = static_cast<int>(std::floor(event.button.y / Video.VerticalPixelSize + 0.5));
 			InputMouseButtonPress(callbacks, SDL_GetTicks(), event.button.button);
 			break;
 
 		case SDL_MOUSEBUTTONUP:
+			event.button.y = static_cast<int>(std::floor(event.button.y / Video.VerticalPixelSize + 0.5));
 			InputMouseButtonRelease(callbacks, SDL_GetTicks(), event.button.button);
 			break;
 
 		case SDL_MOUSEMOTION:
+			event.motion.y = static_cast<int>(std::floor(event.button.y / Video.VerticalPixelSize + 0.5));
 			InputMouseMove(callbacks, SDL_GetTicks(), event.motion.x, event.motion.y);
 			break;