Put in your init.el just (desktop-save-mode 1) Delete your .emacs.desktop if you already have one. Start Emacs 24.3, open any file foo, then do point-to-register, and use register a. Leave foo open, and open any file bar in the same window so foo is no longer displayed, then do point-to-register, and use register b. Leave bar open, and open any file baz in the same window. Then do list-registers, and you get the right thing: register a points to foo, and b to bar. Then close Emacs, answer yes to save the desktop, then start Emacs again. Do list-registers. Register b has the right position but the wrong buffer (baz), and register a either has the same problem (if the position was different from the position of b) or has a marker in no buffer (if the position happened to be the same as the position of b). The bug is caused by trying to convert the saved buffer name to a buffer before the buffer itself has been recreated after restarting Emacs. The attached desktopregisterbug.patch fixes it.