[I posted about this problem to gnu-emacs-help last week but there hasn't been any response, so I'm adding it to the bugtracker with a more explicit and self-contained recipe in the hope that, if it's a real bug, it will be fixed, or if I have made a mistake, it will be pointed out.] 1. mkdir ~/srb; cd ~/srb; touch file1 file2 file3 2. emacs -Q -l path/to/srb.el # Load the attached file. 3. M-x customize-option RET srb-selected-file RET The Customize buffer shows this, as expected: Srb Selected File: (*) file1 ( ) file2 ( ) file3 State: STANDARD. A selected file name from `srb-file-list'. 4. rm -rf ~/srb 5. Repeat steps 2 and 3; now the Customize buffer shows this: Srb Selected File: nil State: STANDARD. (mismatch) A selected file name from `srb-file-list'. This is also expected, since srb-selected-file doesn't handle nil. 6. M-x srb-add-file RET file1 RET 7. In the Customize buffer hide and then re-show the value of srb-selected-file; now the Customize buffer shows this: Srb Selected File: "file1" State: STANDARD. (mismatch) A selected file name from `srb-file-list'. If I kill the Customize buffer and repeat step 3, it still has the same display. What I expected to see is this: Srb Selected File: (*) file1 State: STANDARD. A selected file name from `srb-file-list'. But only if I exit Emacs and then restart it does the Customize buffer look like this (after loading srb.el). I haven't been able to get this display after carrying out steps 4-7 without restarting Emacs. Is it possible? Is there a problem with my defcustom srb-selected-file, or with the calls to custom-reevaluate-setting and custom-set-default in srb-add-file, or have I overlooked some other custom-* function that correctly updates the display? Or is this a bug in the Customize API? I'd be grateful for any help. In GNU Emacs 24.0.94.1 (i686-suse-linux-gnu, GTK+ Version 2.24.7) of 2012-02-28 on escher Windowing system distributor `The X.Org Foundation', version 11.0.11004000 Configured using: `configure '--without-toolkit-scroll-bars' 'CFLAGS=-g'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=local locale-coding-system: utf-8-unix default enable-multibyte-characters: t