diff --git a/src/match.c b/src/match.c
index 9edba8d..fb130ae 100644
--- a/src/match.c
+++ b/src/match.c
@@ -618,6 +618,26 @@
 }
 
 /*
+ * Update "shl->has_cursor" based on the match in "shl" and the cursor
+ * position.
+ */
+    static void
+check_cur_search_hl(win_T *wp, match_T *shl)
+{
+    long linecount = shl->rm.endpos[0].lnum - shl->rm.startpos[0].lnum;
+
+    if (wp->w_cursor.lnum >= shl->lnum
+	    && wp->w_cursor.lnum <= shl->lnum + shl->rm.endpos[0].lnum
+	    && (wp->w_cursor.lnum > shl->lnum
+				|| wp->w_cursor.col >= shl->rm.startpos[0].col)
+	    && (wp->w_cursor.lnum < shl->lnum + linecount
+				  || wp->w_cursor.col < shl->rm.endpos[0].col))
+	shl->has_cursor = TRUE;
+    else
+	shl->has_cursor = FALSE;
+}
+
+/*
  * Prepare for 'hlsearch' and match highlighting in one window line.
  * Return TRUE if there is such highlighting and set "search_attr" to the
  * current highlight attribute.
@@ -677,20 +697,13 @@
 		shl->endcol = shl->rm.endpos[0].col;
 	    else
 		shl->endcol = MAXCOL;
-	    if (shl->rm.endpos[0].lnum != shl->rm.startpos[0].lnum)
-		shl->lines = shl->rm.endpos[0].lnum - shl->rm.startpos[0].lnum;
-	    else
+	    shl->lines = shl->rm.endpos[0].lnum - shl->rm.startpos[0].lnum;
+	    if (shl->lines == 0)
 		shl->lines = 1;
 
 	    // check if the cursor is in the match before changing the columns
-	    if (wp->w_cursor.lnum >= shl->lnum
-			&& wp->w_cursor.lnum
-					  <= shl->lnum + shl->rm.endpos[0].lnum
-			&& (wp->w_cursor.lnum > shl->lnum
-				|| wp->w_cursor.col >= shl->rm.startpos[0].col)
-			&& (wp->w_cursor.lnum < shl->lnum + shl->lines
-				  || wp->w_cursor.col < shl->rm.endpos[0].col))
-		shl->has_cursor = TRUE;
+	    if (shl == search_hl)
+		check_cur_search_hl(wp, shl);
 
 	    // Highlight one character for an empty match.
 	    if (shl->startcol == shl->endcol)
@@ -811,6 +824,10 @@
 		    else
 			shl->endcol = MAXCOL;
 
+		    // check if the cursor is in the match
+		    if (shl == search_hl)
+			check_cur_search_hl(wp, shl);
+
 		    if (shl->startcol == shl->endcol)
 		    {
 			// highlight empty match, try again after
