When using the spell-checking feature of M-x checkdoc, if flyspell-mode is enabled then the checkdoc-ispell-lisp-words are not recognised as correct. For example with the foo.el below (progn (setq checkdoc-spellcheck-documentation-flag t) (find-file "foo.el") (turn-on-flyspell) (checkdoc)) => asks to correct spelling of "keymap" It looks like checkdoc-ispell-init assumes that if an ispell-process exists then it was checkdoc-ispell-init which started it and therefore doesn't need the checkdoc-ispell-lisp-words sent again. Of course that's not the case if using flyspell, and presumably also not if you use ispell.el directly and still have the process running. Perhaps a flag meaning "checkdoc-ispell-lisp-words already sent" could to be attached to the process object, to send just once. Does it hurt to send the words more than once? The simplest thing could be to just send them every time.