patch 7.4.979
Problem:    When changing the crypt key the blocks read from disk are not
            decrypted.
Solution:   Also call ml_decrypt_data() when mf_old_key is set. (Ken Takata)
diff --git a/src/memfile.c b/src/memfile.c
index a21b707..5b13d51 100644
--- a/src/memfile.c
+++ b/src/memfile.c
@@ -1032,8 +1032,9 @@
     }
 
 #ifdef FEAT_CRYPT
-    /* Decrypt if 'key' is set and this is a data block. */
-    if (*mfp->mf_buffer->b_p_key != NUL)
+    /* Decrypt if 'key' is set and this is a data block. And when changing the
+     * key. */
+    if (*mfp->mf_buffer->b_p_key != NUL || mfp->mf_old_key != NULL)
 	ml_decrypt_data(mfp, hp->bh_data, offset, size);
 #endif