updated for version 7.1-218
diff --git a/src/syntax.c b/src/syntax.c
index f9fbb01..e824682 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -2495,7 +2495,7 @@
 		if (current_state.ga_len == 0)
 		    break;
 
-		if (had_extend)
+		if (had_extend && keepend_level >= 0)
 		{
 		    syn_update_ends(FALSE);
 		    if (current_state.ga_len == 0)
diff --git a/src/version.c b/src/version.c
index 467a514..bf6941e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    218,
+/**/
     217,
 /**/
     216,