As pointed out by David Bremner, Elisp manual says "A common pitfall
is to use a quoted constant list as a non-last argument to ‘nconc’."
Since this was the case in recently added code, we fix it here.
   (notmuch-mua-pop-to-buffer (message-buffer-name "mail" to)
                             (or switch-function (notmuch-mua-get-switch-function)))
   (let ((headers
-        ;; The following sexp is copied from `message-mail'
-        (nconc
+        (append
+         ;; The following is copied from `message-mail'
          `((To . ,(or to "")) (Subject . ,(or subject "")))
          ;; C-h f compose-mail says that headers should be specified as
          ;; (string . value); however all the rest of message expects