There seem to be a bug in related to `bbdb-canonicalize-net-hook'. Given the name I assumed it was a hook and tried the following code: (add-hook 'bbdb-canonicalize-net-hook '(lambda (addr) (cond ((string-match "\\([^+]+\\)\\(\\+[^@]+\\)\\(@.*\\)\\'" addr) (concat (substring addr (match-beginning 1) (match-end 1)) (substring addr (match-beginning 3) (match-end 3)))) (t addr)))) This led to the error backtrace below. I took a closer look at the docstring and changed to using setq instead. Now things work, but I think that either the name or the behavior should be changed to reflect what works and what doesn't work. It is also impossible to set it with customize, since the :type is a hook. Debugger entered--Lisp error: (invalid-function ((lambda (addr) (cond ((string-match "\\([^+]+\\)\\(\\+[^@]+\\)\\(@.*\\)\\'" addr) (concat (substring addr (match-beginning 1) (match-end 1)) (substring addr (match-beginning 3) (match-end 3)))) (t addr))))) ((lambda (addr) (cond ... ...)))("[EMAIL PROTECTED]") bbdb-canonicalize-address("[EMAIL PROTECTED]") bbdb-annotate-message-sender(("Rikard Enberg" "[EMAIL PROTECTED]") t nil bbdb-prompt-for-create) byte-code("= \n $C = A@)!Q !\" @H#$k $r #r $@\"#$A$Q r \"##* \"B\" A ; \".%&T&' ( )= &ӦU &*$+! +\"