diff --git a/windows/x11drv/event.c b/windows/x11drv/event.c
index d2281a3dcff1857b4ace95d38a6f518da702f4e2..4871844b59d978fb2c00e28be1d96ca896e58410 100644
--- a/windows/x11drv/event.c
+++ b/windows/x11drv/event.c
@@ -304,6 +304,7 @@ static void EVENT_ProcessEvent( XEvent *event )
       XFocusChangeEvent *xfocChange = (XFocusChangeEvent*)event;
       glastXFocusWin = xfocChange->window;
       if (!hWnd || bUserRepaintDisabled) return;
+      if (GetWindowLongA( hWnd, GWL_STYLE ) & WS_DISABLED) glastXFocusWin = 0;
       EVENT_FocusOut( hWnd, (XFocusChangeEvent*)event );
       break;
     }