Hi ! I use the latest CVS version. With the following : $ emacs -Q C-u M-x ispell-change-dictionary RET francais RET C-x b test1 RET M-x ispell-change-dictionary RET english RET M-x ispell-buffer C-x b test2 RET M-x ispell-change-dictionary RET english RET The « english » dictionary will be loaded twice: on the « ispell-buffer » and on the latest « ispell-change-dictionary ». The rest of this message is IMHO :-) What happens is the following on the second ispell-change-dictionary: - ispell-buffer-local-dict is called, - this one calls ispell-internal-change-dictionary, - ispell-local-dictionary being nil, and current dictionary (« english ») not being equal to default one (« francais »), the ispell process is killed. So it has to be restarted. The call to ispell-buffer-local-dict is mandatory (ispell-change-dictionary could be called with "" just to load default buffer's one), but it should not call ispell-internal-change-dictionary at this time. The proposed patch : - Delays this call, - Makes ispell-internal-change-dictionary checks for pdict, - Fixes the bug. Could someone have a look and install it if needed ?