diff --git a/7.1.022 b/7.1.022
new file mode 100644
index 0000000..1357982
--- /dev/null
+++ b/7.1.022
@@ -0,0 +1,67 @@
+To: vim-dev@vim.org
+Subject: patch 7.1.022
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.1.022
+Problem:    When setting 'keymap' twice the b:keymap_name variable isn't set.
+            (Milan Berta)
+Solution:   Don't unlet b:keymap_name for ":loadkeymap". (Martin Toft)
+Files:      src/digraph.c
+
+
+*** ../vim-7.1.021/src/digraph.c	Wed May  3 00:07:11 2006
+--- src/digraph.c	Mon Jul  2 21:24:30 2007
+***************
+*** 2349,2356 ****
+  
+      if (*curbuf->b_p_keymap == NUL)
+      {
+! 	/* Stop any active keymap and clear the table. */
+  	keymap_unload();
+      }
+      else
+      {
+--- 2349,2358 ----
+  
+      if (*curbuf->b_p_keymap == NUL)
+      {
+! 	/* Stop any active keymap and clear the table.  Also remove
+! 	 * b:keymap_unload, as no keymap is active now. */
+  	keymap_unload();
++ 	do_cmdline_cmd((char_u *)"unlet! b:keymap_name");
+      }
+      else
+      {
+***************
+*** 2500,2506 ****
+  
+      ga_clear(&curbuf->b_kmap_ga);
+      curbuf->b_kmap_state &= ~KEYMAP_LOADED;
+-     do_cmdline_cmd((char_u *)"unlet! b:keymap_name");
+  #ifdef FEAT_WINDOWS
+      status_redraw_curbuf();
+  #endif
+--- 2502,2507 ----
+*** ../vim-7.1.021/src/version.c	Fri Jul  6 19:42:09 2007
+--- src/version.c	Sat Jul  7 13:56:52 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     22,
+  /**/
+
+-- 
+If your life is a hard drive,
+Christ can be your backup.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///