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)