This bug report was previously submitted as bug#75684, but it appears to have been lost by the mailing list. Here it is again: Variables defined with persist-defvar which have persisted values are sometimes bound to their persisted values before the package is loaded. persist-defvar then incorrectly sets the symbol's persist-default property to its persisted value, which then causes the persist value to sometimes be deleted. The bug in the wild: https://github.com/alphapapa/activities.el/issues/109 I am able to reproduce this issue on Emacs 29.4: --8<---------------cut here---------------start------------->8--- rm -rf /tmp/test-persist-issue/ mkdir /tmp/test-persist-issue cat > /tmp/test-persist-issue/init.el <8--- Wait for Emacs to install test-persist-issue.el and persist.el, then: --8<---------------cut here---------------start------------->8--- (progn (require 'test-persist-issue) (setf test-persist-issue 'foo) (persist-save 'test-persist-issue) (kill-emacs)) --8<---------------cut here---------------end--------------->8--- /tmp/test-persist-issue/persist/test-persist-issue now exists as expected. Now run: --8<---------------cut here---------------start------------->8--- rm -rf /tmp/test-persist-issue/elpa/ emacs --init-directory=/tmp/test-persist-issue/ --8<---------------cut here---------------end--------------->8--- Wait for installation again, then evaluate: --8<---------------cut here---------------start------------->8--- (progn ;; (persist-default 'test-persist-issue) ;; foo (should be nil) (persist-save 'test-persist-issue)) --8<---------------cut here---------------end--------------->8--- The second time Emacs is opened, just before the call to persist-defvar in activities.el, the test-persist-issue variable is already bound to the persisted value, which results in the persisted value being incorrectly set as the default. Why is the persist variable bound before the persist-defvar form? This example uses package-vc for the sake of reliable bug reproduction, but the issue also exists with package.el, as in the original report. Thank you! Joseph P.S. The linked git repo contains two files, both of which appear to be necessary to reproduce the issue. For the sake of future bug reproduction, I have attached both files to this email.