Actually... Deferring the loading of desktop-mode to after-make-frame cannot work (unless I'm missing the point): if (and owner (memq desktop-load-locked-desktop '(nil ask)) (or (null desktop-load-locked-desktop) (daemonp) (not (y-or-n-p (format "Warning: desktop file appears to be in use by PID %s.\n\ Using it may cause conflicts. Use it anyway? " owner))))) `(deamonp)` will still be true... I could set `desktop-load-locked-desktop' to `t' but then I'm assuming I'll always be the only desktop-mode client on this machine... I don't like that. What about changing `(daemonp)' to some predicate checking if there is a frame conencted?