diff --git a/src/window.c b/src/window.c
index 9f7131e..c2590e5 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2307,6 +2307,7 @@
     win_T	*wp;
     int		dir;
     tabpage_T   *ptp = NULL;
+    int		free_tp = FALSE;
 
     /* Close the link to the buffer. */
     close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0);
@@ -2324,11 +2325,8 @@
     if (wp == NULL)
 	return;
 
-    /* Free the memory used for the window. */
-    wp = win_free_mem(win, &dir, tp);
-
     /* When closing the last window in a tab page remove the tab page. */
-    if (wp == NULL)
+    if (tp == NULL ? firstwin == lastwin : tp->tp_firstwin == tp->tp_lastwin)
     {
 	if (tp == first_tabpage)
 	    first_tabpage = tp->tp_next;
@@ -2344,8 +2342,14 @@
 	    }
 	    ptp->tp_next = tp->tp_next;
 	}
-	free_tabpage(tp);
+	free_tp = TRUE;
     }
+
+    /* Free the memory used for the window. */
+    win_free_mem(win, &dir, tp);
+
+    if (free_tp)
+	free_tabpage(tp);
 }
 
 /*
