--- contrib/smime.rc.orig	2017-05-30 19:26:40 UTC
+++ contrib/smime.rc
@@ -23,8 +23,12 @@ set crypt_verify_sig = yes
 
 # The (default) keyfile for signing/decrypting.  Uncomment the following
 # line and replace the keyid with your own.
-set smime_default_key="12345678.0"
+# set smime_default_key="12345678.0"
 
+# Uncomment the following line in addition to the one above, if you want that
+# all encrypted messages are also encrypted with your default key.
+# set smime_encrypt_self = yes
+  
 # Uncomment to make mutt ask what key to use when trying to decrypt a message.
 # It will use the default key above (if that was set) else.
 # unset smime_decrypt_use_default_key
--- crypt.c.orig	2017-06-04 00:05:52 UTC
+++ crypt.c
@@ -229,8 +229,18 @@ int mutt_protect (HEADER *msg, char *key
     if ((WithCrypto & APPLICATION_SMIME)
         && (msg->security & APPLICATION_SMIME))
     {
-      if (!(tmp_pbody = crypt_smime_build_smime_entity (tmp_smime_pbody,
-                                                        keylist)))
+	   char *new_keylist = keylist;
+
+		 if (SmimeDefaultKey && query_quadoption(OPT_SMIMEENCRYPTSELF, _("Encrypt message to S/MIME Default Key also?")) == MUTT_YES)
+		 {
+			int size = mutt_strlen(keylist) + mutt_strlen (SmimeDefaultKey) + 2; /* +1 for NULL, +1 for \n */
+			new_keylist = safe_malloc(size);
+			snprintf(new_keylist, size, "%s%s\n", keylist, SmimeDefaultKey);
+	   }
+		 
+	  tmp_pbody = crypt_smime_build_smime_entity (tmp_smime_pbody, new_keylist);
+	  safe_free((void **)&new_keylist);
+	  if (!tmp_pbody)
       {
 	/* signed ? free it! */
 	return (-1);
--- init.h.orig	2017-06-04 00:05:52 UTC
+++ init.h
@@ -3017,6 +3017,11 @@ struct option_t MuttVars[] = {
   ** possible \fCprintf(3)\fP-like sequences.
   ** (S/MIME only)
   */
+  { "smime_encrypt_self",	DT_QUAD,	 R_NONE, OPT_SMIMEENCRYPTSELF, 1 },
+  /*
+  ** .pp
+  ** Encrypt the message to smime_default_key too.
+  */
   { "smime_encrypt_with",	DT_STR,	 R_NONE, UL &SmimeCryptAlg, UL "aes256" },
   /*
   ** .pp
--- mutt.h.orig	2017-06-04 00:05:52 UTC
+++ mutt.h
@@ -284,6 +284,7 @@ enum
   OPT_FORWEDIT,
   OPT_FCCATTACH,
   OPT_INCLUDE,
+  OPT_SMIMEENCRYPTSELF,
   OPT_MFUPTO,
   OPT_MIMEFWD,
   OPT_MIMEFWDREST,
