diff --git a/sway/input/seatop_default.c b/sway/input/seatop_default.c
index 881384719..e3726dd1c 100644
--- a/sway/input/seatop_default.c
+++ b/sway/input/seatop_default.c
@@ -241,7 +241,7 @@ static void handle_button(struct sway_seat *seat, uint32_t time_msec,
 	bool is_floating_or_child = cont && container_is_floating_or_child(cont);
 	bool is_fullscreen_or_child = cont && container_is_fullscreen_or_child(cont);
 	enum wlr_edges edge = cont ? find_edge(cont, cursor) : WLR_EDGE_NONE;
-	enum wlr_edges resize_edge = edge ?
+	enum wlr_edges resize_edge = cont && edge ?
 		find_resize_edge(cont, cursor) : WLR_EDGE_NONE;
 	bool on_border = edge != WLR_EDGE_NONE;
 	bool on_contents = cont && !on_border && surface;