dired-mode uses hard-coding when it rebinds some global key bindings. For example, there is the following line in dired.el file: (define-key map "\C-n" 'dired-next-line) Therefore it overrides the global C-n key, whatever its command is in user's keymap. The command should be bound like this: (define-key map [remap next-line] 'dired-next-line) Using [remap ...] is preferred because it makes it possible for user to redefine the global keymap they way she wishes and keys will still automatically get their mode-specific behaviour. The attached patch fixes this for dired-mode.