diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 261b5ca..aa84494 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -4368,6 +4368,7 @@
 		highlight	highlight groups
 		history		:history suboptions
 		locale		locale names (as output of locale -a)
+		mapclear        buffer argument
 		mapping		mapping name
 		menu		menus
 		messages	|:messages| suboptions
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 239c791..983fb2d 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1279,6 +1279,7 @@
 	-complete=highlight	highlight groups
 	-complete=history	:history suboptions
 	-complete=locale	locale names (as output of locale -a)
+	-complete=mapclear	buffer argument
 	-complete=mapping	mapping name
 	-complete=menu		menus
 	-complete=messages	|:messages| suboptions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c61cd2e..fa5a888 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4223,6 +4223,19 @@
 	case CMD_xunmap:
 	    return set_context_in_map_cmd(xp, cmd, arg, forceit,
 						      FALSE, TRUE, ea.cmdidx);
+	case CMD_mapclear:
+	case CMD_nmapclear:
+	case CMD_vmapclear:
+	case CMD_omapclear:
+	case CMD_imapclear:
+	case CMD_cmapclear:
+	case CMD_lmapclear:
+	case CMD_smapclear:
+	case CMD_xmapclear:
+	    xp->xp_context = EXPAND_MAPCLEAR;
+	    xp->xp_pattern = arg;
+	    break;
+
 	case CMD_abbreviate:	case CMD_noreabbrev:
 	case CMD_cabbrev:	case CMD_cnoreabbrev:
 	case CMD_iabbrev:	case CMD_inoreabbrev:
@@ -5964,6 +5977,7 @@
 	&& (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
     {EXPAND_LOCALES, "locale"},
 #endif
+    {EXPAND_MAPCLEAR, "mapclear"},
     {EXPAND_MAPPINGS, "mapping"},
     {EXPAND_MENUS, "menu"},
     {EXPAND_MESSAGES, "messages"},
@@ -12083,6 +12097,14 @@
 }
 #endif
 
+    char_u *
+get_mapclear_arg(expand_T *xp UNUSED, int idx)
+{
+    if (idx == 0)
+	return (char_u *)"<buffer>";
+    return NULL;
+}
+
 #ifdef FEAT_AUTOCMD
 static int filetype_detect = FALSE;
 static int filetype_plugin = FALSE;
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 894756d..74d7937 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4879,6 +4879,7 @@
 	{
 	    {EXPAND_COMMANDS, get_command_name, FALSE, TRUE},
 	    {EXPAND_BEHAVE, get_behave_arg, TRUE, TRUE},
+	    {EXPAND_MAPCLEAR, get_mapclear_arg, TRUE, TRUE},
 	    {EXPAND_MESSAGES, get_messages_arg, TRUE, TRUE},
 #ifdef FEAT_CMDHIST
 	    {EXPAND_HISTORY, get_history_arg, TRUE, TRUE},
diff --git a/src/proto/ex_docmd.pro b/src/proto/ex_docmd.pro
index 11a3f71..1a931e5 100644
--- a/src/proto/ex_docmd.pro
+++ b/src/proto/ex_docmd.pro
@@ -62,4 +62,5 @@
 void dialog_msg(char_u *buff, char *format, char_u *fname);
 char_u *get_behave_arg(expand_T *xp, int idx);
 char_u *get_messages_arg(expand_T *xp, int idx);
+char_u *get_mapclear_arg(expand_T *xp, int idx);
 /* vim: set ft=c : */
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index c272376..f9499ac 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -222,6 +222,11 @@
   let l = getcompletion('not', 'messages')
   call assert_equal([], l)
 
+  let l = getcompletion('', 'mapclear')
+  call assert_true(index(l, '<buffer>') >= 0)
+  let l = getcompletion('not', 'mapclear')
+  call assert_equal([], l)
+
   if has('cscope')
     let l = getcompletion('', 'cscope')
     let cmds = ['add', 'find', 'help', 'kill', 'reset', 'show']
diff --git a/src/version.c b/src/version.c
index c85cf1e..de89ce4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    878,
+/**/
     877,
 /**/
     876,
diff --git a/src/vim.h b/src/vim.h
index 2562d9e..d7d3556 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -808,6 +808,7 @@
 #define EXPAND_USER_ADDR_TYPE	44
 #define EXPAND_PACKADD		45
 #define EXPAND_MESSAGES		46
+#define EXPAND_MAPCLEAR		47
 
 /* Values for exmode_active (0 is no exmode) */
 #define EXMODE_NORMAL		1
