diff --git a/src/crypt.c b/src/crypt.c
index c54e15c..f25a2c4 100644
--- a/src/crypt.c
+++ b/src/crypt.c
@@ -504,6 +504,26 @@
 }
 
 /*
+ * Check the crypt method and give a warning if it's outdated.
+ */
+    void
+crypt_check_method(method)
+    int method;
+{
+    if (method < CRYPT_M_BF2)
+    {
+	msg_scroll = TRUE;
+	MSG(_("Warning: Using a weak encryption method; see :help 'cm'"));
+    }
+}
+
+    void
+crypt_check_current_method()
+{
+    crypt_check_method(crypt_get_method_nr(curbuf));
+}
+
+/*
  * Ask the user for a crypt key.
  * When "store" is TRUE, the new key is stored in the 'key' option, and the
  * 'key' option value is returned: Don't free it.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 35e44f0..e90a36e 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -11524,6 +11524,7 @@
 ex_X(eap)
     exarg_T	*eap UNUSED;
 {
+    crypt_check_current_method();
     (void)crypt_get_key(TRUE, TRUE);
 }
 #endif
diff --git a/src/fileio.c b/src/fileio.c
index 0843d04..a978ec2 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2958,6 +2958,7 @@
 		 * Happens when retrying to detect encoding. */
 		smsg((char_u *)_(need_key_msg), fname);
 		msg_scroll = TRUE;
+		crypt_check_method(method);
 		cryptkey = crypt_get_key(newfile, FALSE);
 		*did_ask = TRUE;
 
diff --git a/src/main.c b/src/main.c
index fe75495..1814385 100644
--- a/src/main.c
+++ b/src/main.c
@@ -854,6 +854,7 @@
 #ifdef FEAT_CRYPT
     if (params.ask_for_key)
     {
+	crypt_check_current_method();
 	(void)crypt_get_key(TRUE, TRUE);
 	TIME_MSG("getting crypt key");
     }
diff --git a/src/proto/crypt.pro b/src/proto/crypt.pro
index d61df71..7b29026 100644
--- a/src/proto/crypt.pro
+++ b/src/proto/crypt.pro
@@ -19,6 +19,8 @@
 void crypt_encode_inplace __ARGS((cryptstate_T *state, char_u *buf, size_t len));
 void crypt_decode_inplace __ARGS((cryptstate_T *state, char_u *buf, size_t len));
 void crypt_free_key __ARGS((char_u *key));
+void crypt_check_method __ARGS((int method));
+void crypt_check_current_method __ARGS((void));
 char_u *crypt_get_key __ARGS((int store, int twice));
 void crypt_append_msg __ARGS((buf_T *buf));
 /* vim: set ft=c : */
diff --git a/src/version.c b/src/version.c
index 76ab146..06c4016 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    509,
+/**/
     508,
 /**/
     507,
