diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c
index 9d5a381cd..88b27f84d 100644
--- a/src/wayland/meta-wayland-pointer.c
+++ b/src/wayland/meta-wayland-pointer.c
@@ -603,7 +603,7 @@ repick_for_event (MetaWaylandPointer *pointer,
 
       surface = meta_surface_actor_wayland_get_surface (actor_wayland);
 
-      if (meta_window_has_modals (meta_wayland_surface_get_window (surface)))
+      if (surface && meta_window_has_modals (meta_wayland_surface_get_window (surface)))
         surface = NULL;
     }
   else