--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -1375,7 +1375,10 @@ after that many seconds of idle time."
 	;; Restore buffer list order with new buffer at end. Don't change
 	;; the order for old desktop files (old desktop module behavior).
 	(unless (< desktop-file-version 206)
-	  (mapc 'bury-buffer buffer-list)
+	  (mapc (lambda (buf)
+		  (and (buffer-live-p buf)
+		       (bury-buffer buf)))
+		buffer-list)
 	  (when result (bury-buffer result)))
 	(when result
 	  (unless (or desktop-first-buffer (< desktop-file-version 206))
