diff --git a/lisp/completion.el b/lisp/completion.el
index d3f118705b7..b53f2d3ac79 100644
--- a/lisp/completion.el
+++ b/lisp/completion.el
@@ -2228,12 +2228,9 @@ TYPE is the type of the wrapper to be added.  Can be :before or :under."
 (defun completion-lisp-mode-hook ()
   (setq completion-syntax-table completion-lisp-syntax-table)
   ;; Lisp Mode diffs
-  (local-set-key "!" 'self-insert-command)
-  (local-set-key "&" 'self-insert-command)
-  (local-set-key "%" 'self-insert-command)
-  (local-set-key "?" 'self-insert-command)
-  (local-set-key "=" 'self-insert-command)
-  (local-set-key "^" 'self-insert-command))
+  (setq-local completion-separator-chars
+              (cl-set-difference completion-separator-chars
+                                 (append "!&%?=^" nil))))
 
 ;; C mode diffs.