mm-inline-media-tests contains lambda's, and itʼs byte-compiled, so when you customize its value, byte-code is saved in your .emacs. One of its components looks like this: ("text/x-vcard" mm-inline-text-vcard #[257 "\300\301!\206 %0\302\303!\207" [featurep vcard locate-library "vcard"] 3 " (fn HANDLE)"]) That has an embedded 'NUL' just before the \302 (Iʼve encoded it), which causes 'buffer-file-coding-system' to be incorrect ('no-conversion in this case) so any non-ascii character causes a read error: $ HOME=/tmp emacs --debug-init Debugger entered--Lisp error: (invalid-read-syntax "?" 1 0) read(#) eval-buffer(# nil "/tmp/.emacs" nil t) ; Reading at buffer position 573 load-with-code-conversion("/tmp/.emacs" "/tmp/.emacs" t t) load("~/.emacs" noerror nomessage) Sample .emacs attached. There are probably other defcustom's with the same issue, I haven't checked.