diff --git a/src/syntax.c b/src/syntax.c
index 9058368..714c90a 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -679,6 +679,7 @@
     linenr_T	found_current_lnum = 0;
     int		found_current_col= 0;
     lpos_T	found_m_endpos;
+    colnr_T	prev_current_col;
 
     /*
      * Clear any current state that might be hanging around.
@@ -849,10 +850,13 @@
 			    ++current_col;
 
 			/* syn_current_attr() will have skipped the check for
-			 * an item that ends here, need to do that now. */
-			++current_col;
+			 * an item that ends here, need to do that now.  Be
+			 * careful not to go past the NUL. */
+			prev_current_col = current_col;
+			if (syn_getcurline()[current_col] != NUL)
+			    ++current_col;
 			check_state_ends();
-			--current_col;
+			current_col = prev_current_col;
 		    }
 		    else
 			break;
@@ -1647,6 +1651,7 @@
     int	    syncing;		/* called for syncing */
 {
     stateitem_T	*cur_si;
+    colnr_T	prev_current_col;
 
     if (!current_finished)
     {
@@ -1668,10 +1673,13 @@
 		    return TRUE;
 
 		/* syn_current_attr() will have skipped the check for an item
-		 * that ends here, need to do that now. */
-		++current_col;
+		 * that ends here, need to do that now.  Be careful not to go
+		 * past the NUL. */
+		prev_current_col = current_col;
+		if (syn_getcurline()[current_col] != NUL)
+		    ++current_col;
 		check_state_ends();
-		--current_col;
+		current_col = prev_current_col;
 	    }
 	    ++current_col;
 	}
@@ -2252,7 +2260,8 @@
 	if (!syncing)
 	{
 	    check_state_ends();
-	    if (current_state.ga_len > 0)
+	    if (current_state.ga_len > 0
+				      && syn_getcurline()[current_col] != NUL)
 	    {
 		++current_col;
 		check_state_ends();
