diff --git a/libweston-desktop/xdg-shell-v6.c b/libweston-desktop/xdg-shell-v6.c
index d82a507..4db3748 100644
--- a/libweston-desktop/xdg-shell-v6.c
+++ b/libweston-desktop/xdg-shell-v6.c
@@ -903,20 +903,39 @@
 static bool
 weston_desktop_xdg_toplevel_state_compare(struct weston_desktop_xdg_toplevel *toplevel)
 {
+	struct {
+		struct weston_desktop_xdg_toplevel_state state;
+		struct weston_size size;
+	} configured;
+
 	if (!toplevel->base.configured)
 		return false;
 
-	if (toplevel->pending.state.activated != toplevel->current.state.activated)
+	if (wl_list_empty(&toplevel->base.configure_list)) {
+		/* Last configure is actually the current state, just use it */
+		configured.state = toplevel->current.state;
+		configured.size.width = toplevel->base.surface->width;
+		configured.size.height = toplevel->base.surface->height;
+	} else {
+		struct weston_desktop_xdg_toplevel_configure *configure =
+			wl_container_of(toplevel->base.configure_list.prev,
+					configure, base.link);
+
+		configured.state = configure->state;
+		configured.size = configure->size;
+	}
+
+	if (toplevel->pending.state.activated != configured.state.activated)
 		return false;
-	if (toplevel->pending.state.fullscreen != toplevel->current.state.fullscreen)
+	if (toplevel->pending.state.fullscreen != configured.state.fullscreen)
 		return false;
-	if (toplevel->pending.state.maximized != toplevel->current.state.maximized)
+	if (toplevel->pending.state.maximized != configured.state.maximized)
 		return false;
-	if (toplevel->pending.state.resizing != toplevel->current.state.resizing)
+	if (toplevel->pending.state.resizing != configured.state.resizing)
 		return false;
 
-	if (toplevel->base.surface->width == toplevel->pending.size.width &&
-	    toplevel->base.surface->height == toplevel->pending.size.height)
+	if (toplevel->pending.size.width == configured.size.width &&
+	    toplevel->pending.size.height == configured.size.height)
 		return true;
 
 	if (toplevel->pending.size.width == 0 &&
