diff --git a/src/Makefile b/src/Makefile
index 6add935..13bf776 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2023,6 +2023,7 @@
 	test_cmdline \
 	test_cursor_func \
 	test_delete \
+	test_evalcmd \
 	test_ex_undo \
 	test_expand \
 	test_expand_dllpath \
diff --git a/src/eval.c b/src/eval.c
index 69238c1..74ed263 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -555,6 +555,7 @@
 static void f_empty(typval_T *argvars, typval_T *rettv);
 static void f_escape(typval_T *argvars, typval_T *rettv);
 static void f_eval(typval_T *argvars, typval_T *rettv);
+static void f_evalcmd(typval_T *argvars, typval_T *rettv);
 static void f_eventhandler(typval_T *argvars, typval_T *rettv);
 static void f_executable(typval_T *argvars, typval_T *rettv);
 static void f_exepath(typval_T *argvars, typval_T *rettv);
@@ -1133,6 +1134,7 @@
 }
 
 static lval_T	*redir_lval = NULL;
+#define EVALCMD_BUSY (redir_lval == (lval_T *)&redir_lval)
 static garray_T redir_ga;	/* only valid when redir_lval is not NULL */
 static char_u	*redir_endp = NULL;
 static char_u	*redir_varname = NULL;
@@ -1250,6 +1252,12 @@
 {
     typval_T	tv;
 
+    if (EVALCMD_BUSY)
+    {
+	redir_lval = NULL;
+	return;
+    }
+
     if (redir_lval != NULL)
     {
 	/* If there was no error: assign the text to the variable. */
@@ -8556,6 +8564,7 @@
     {"empty",		1, 1, f_empty},
     {"escape",		2, 2, f_escape},
     {"eval",		1, 1, f_eval},
+    {"evalcmd",		1, 1, f_evalcmd},
     {"eventhandler",	0, 0, f_eventhandler},
     {"executable",	1, 1, f_executable},
     {"exepath",		1, 1, f_exepath},
@@ -11337,6 +11346,36 @@
 }
 
 /*
+ * "evalcmd()" function
+ */
+    static void
+f_evalcmd(typval_T *argvars, typval_T *rettv)
+{
+    char_u	*s;
+
+    rettv->vval.v_string = NULL;
+    rettv->v_type = VAR_STRING;
+
+    s = get_tv_string_chk(&argvars[0]);
+    if (s != NULL)
+    {
+	redir_vname = TRUE;
+	redir_lval = (lval_T *)&redir_lval;
+	ga_init2(&redir_ga, (int)sizeof(char), 500);
+
+	if (do_cmdline_cmd(s) == OK)
+	    rettv->vval.v_string = redir_ga.ga_data;
+	else
+	    vim_free(redir_ga.ga_data);
+
+	redir_ga.ga_data = NULL;
+	redir_vname = FALSE;
+	redir_lval = NULL;
+    }
+
+}
+
+/*
  * "eventhandler()" function
  */
     static void
diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim
index e99e137..074c2de 100644
--- a/src/testdir/test_alot.vim
+++ b/src/testdir/test_alot.vim
@@ -5,9 +5,10 @@
 source test_autocmd.vim
 source test_cursor_func.vim
 source test_delete.vim
+source test_evalcmd.vim
 source test_ex_undo.vim
-source test_expr.vim
 source test_expand.vim
+source test_expr.vim
 source test_expand_dllpath.vim
 source test_feedkeys.vim
 source test_fnamemodify.vim
diff --git a/src/testdir/test_evalcmd.vim b/src/testdir/test_evalcmd.vim
new file mode 100644
index 0000000..e7f48bc
--- /dev/null
+++ b/src/testdir/test_evalcmd.vim
@@ -0,0 +1,8 @@
+" test evalcmd()
+
+func Test_evalcmd()
+  call assert_equal("\nnocompatible", evalcmd('set compatible?'))
+  call assert_equal("\nsomething\nnice", evalcmd('echo "something\nnice"'))
+  call assert_fails('call evalcmd("doesnotexist")', 'E492:')
+endfunc
+
diff --git a/src/version.c b/src/version.c
index f34f7a0..b6b9e59 100644
--- a/src/version.c
+++ b/src/version.c
@@ -759,6 +759,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1996,
+/**/
     1995,
 /**/
     1994,
