diff --git a/window.c b/window.c
index 10571f99..7a2d9f6c 100644
--- a/window.c
+++ b/window.c
@@ -344,6 +344,8 @@ window_destroy(struct window *w)
 		layout_free_cell(w->saved_layout_root);
 	free(w->old_layout);
 
+	window_destroy_panes(w);
+
 	if (event_initialized(&w->name_event))
 		evtimer_del(&w->name_event);
 
@@ -354,8 +356,6 @@ window_destroy(struct window *w)
 
 	options_free(w->options);
 
-	window_destroy_panes(w);
-
 	free(w->name);
 	free(w);
 }