The attached patch tries to offer a workaround for this bug and to provide a feature that was asked for by Emanuel Berg in    http://lists.gnu.org/archive/html/help-gnu-emacs/2015-06/msg00363.html i.e. that Ispell uses certain keys in a certain order for the offers in its *Choices* buffer. Therefore, the idea is to use a customizable variable to hold a vector of key specifications that are used by ispell-command-loop in the given order to assemble its options. The patch alters ispell-command-loop accordingly introducing ispell-option-keys as that customizable variable. Its default value is chosen such, that the first keys in the vector are digits and lowercase letters, since these are directly accessible on most keyboards without using any modifiers. As a minor detail the patch defines the inline function ispell-insert-choices to hold some code that is used repetitively in ispell-command-loop. The patch applies to the version of ispell.el that was shipped with the Emacs 24.4 release. And that is also the Emacs version the patch was tested on. Juergen