diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 672647f7134c830e4a6b218665f58e6bac2c2d2d..eda69a1937142426bbd48de7c8b92816bdeab7bf 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -2935,7 +2935,7 @@ sprite_check_lost_focus(SpritePtr sprite, WindowPtr window)
 
     if (xwl_seat->focus_window == NULL &&
         xwl_seat->last_xwindow != NullWindow &&
-        IsParent(xwl_seat->last_xwindow, window))
+        (IsParent(xwl_seat->last_xwindow, window) || xwl_seat->last_xwindow == window))
         return TRUE;
 
     return FALSE;