updated for version 7.0075
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 48a87d9..4729f9b 100644
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -2512,6 +2512,14 @@
     RECT	rcVim, rcOther, rcDest;
 
     GetWindowRect(s_hwnd, &rcVim);
+
+    /* Check if the window is partly above or below the screen.  We don't care
+     * about partly left or right of the screen, it is not relevant when
+     * scrolling up or down. */
+    if (rcVim.top < 0 || rcVim.bottom > GetSystemMetrics(SM_CYFULLSCREEN))
+	return SW_INVALIDATE;
+
+    /* Check if there is an window (partly) on top of us. */
     for (hwnd = s_hwnd; (hwnd = GetWindow(hwnd, GW_HWNDPREV)) != (HWND)0; )
 	if (IsWindowVisible(hwnd))
 	{