diff --git a/src/regexp.c b/src/regexp.c
index dcb9a3b..f19e139 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -358,6 +358,8 @@
 static char_u	*regprop __ARGS((char_u *));
 #endif
 
+static int re_mult_next __ARGS((char *what));
+
 static char_u e_missingbracket[] = N_("E769: Missing ] after %s[");
 static char_u e_unmatchedpp[] = N_("E53: Unmatched %s%%(");
 static char_u e_unmatchedp[] = N_("E54: Unmatched %s(");
@@ -2166,9 +2168,13 @@
 #endif
 
 		case 's': ret = regnode(MOPEN + 0);
+			  if (re_mult_next("\\zs") == FAIL)
+			      return NULL;
 			  break;
 
 		case 'e': ret = regnode(MCLOSE + 0);
+			  if (re_mult_next("\\ze") == FAIL)
+			      return NULL;
 			  break;
 
 		default:  EMSG_RET_NULL(_("E68: Invalid character after \\z"));
@@ -7005,6 +7011,18 @@
 }
 #endif	    /* DEBUG */
 
+/*
+ * Used in a place where no * or \+ can follow.
+ */
+    static int
+re_mult_next(what)
+    char *what;
+{
+    if (re_multi_type(peekchr()) == MULTI_MULT)
+	EMSG2_RET_FAIL(_("E888: (NFA regexp) cannot repeat %s"), what);
+    return OK;
+}
+
 #ifdef FEAT_MBYTE
 static void mb_decompose __ARGS((int c, int *c1, int *c2, int *c3));
 
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
index 4ccb05a..6531d45 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -291,7 +291,6 @@
 static int nfa_regconcat __ARGS((void));
 static int nfa_regbranch __ARGS((void));
 static int nfa_reg __ARGS((int paren));
-static int re_mult_next __ARGS((char *what));
 #ifdef DEBUG
 static void nfa_set_code __ARGS((int c));
 static void nfa_postfix_dump __ARGS((char_u *expr, int retval));
@@ -2281,18 +2280,6 @@
     return OK;
 }
 
-/*
- * Used in a place where no * or \+ can follow.
- */
-    static int
-re_mult_next(what)
-    char *what;
-{
-    if (re_multi_type(peekchr()) == MULTI_MULT)
-	EMSG2_RET_FAIL(_("E888: (NFA regexp) cannot repeat %s"), what);
-    return OK;
-}
-
 #ifdef DEBUG
 static char_u code[50];
 
diff --git a/src/version.c b/src/version.c
index 521f2d8..599dd33 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    437,
+/**/
     436,
 /**/
     435,
