diff --git a/src/wndproc.c b/src/wndproc.c
index 176aa21..bd602d1 100644
--- a/src/wndproc.c
+++ b/src/wndproc.c
@@ -707,10 +707,10 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
 
         if (GET_X_LPARAM(lParam) > g_ddraw->width || GET_Y_LPARAM(lParam) > g_ddraw->height)
         {
-            g_ddraw->cursor.x = min(GET_X_LPARAM(lParam), g_ddraw->width);
-            g_ddraw->cursor.y = min(GET_Y_LPARAM(lParam), g_ddraw->height);
+            x = g_ddraw->cursor.x = min(GET_X_LPARAM(lParam), g_ddraw->width);
+            y = g_ddraw->cursor.y = min(GET_Y_LPARAM(lParam), g_ddraw->height);
 
-            lParam = MAKELPARAM(g_ddraw->cursor.x, g_ddraw->cursor.y);
+            lParam = MAKELPARAM(x, y);
         }
 
         break;