diff --git a/src/search.c b/src/search.c
index 2d829b5..d9b6a7c 100644
--- a/src/search.c
+++ b/src/search.c
@@ -1219,6 +1219,7 @@
     char_u	    *ps;
     char_u	    *msgbuf = NULL;
     size_t	    len;
+#define SEARCH_STAT_BUF_LEN 12
 
     /*
      * A line offset is not remembered, this is vi compatible.
@@ -1399,8 +1400,8 @@
 		else
 		    // Use up to 'showcmd' column.
 		    len = (int)(Rows - msg_row - 1) * Columns + sc_col - 1;
-		if (len < STRLEN(p) + 40 + 11)
-		    len = STRLEN(p) + 40 + 11;
+		if (len < STRLEN(p) + 40 + SEARCH_STAT_BUF_LEN + 1)
+		    len = STRLEN(p) + 40 + SEARCH_STAT_BUF_LEN + 1;
 	    }
 	    else
 		// Reserve enough space for the search pattern + offset.
@@ -4982,37 +4983,36 @@
     }
     if (cur > 0)
     {
-#define STAT_BUF_LEN 12
-	char	t[STAT_BUF_LEN] = "";
+	char	t[SEARCH_STAT_BUF_LEN] = "";
 	int	len;
 
 #ifdef FEAT_RIGHTLEFT
 	if (curwin->w_p_rl && *curwin->w_p_rlc == 's')
 	{
 	    if (cur == OUT_OF_TIME)
-		vim_snprintf(t, STAT_BUF_LEN, "[?/??]");
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[?/??]");
 	    else if (cnt > 99 && cur > 99)
-		vim_snprintf(t, STAT_BUF_LEN, "[>99/>99]");
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[>99/>99]");
 	    else if (cnt > 99)
-		vim_snprintf(t, STAT_BUF_LEN, "[>99/%d]", cur);
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[>99/%d]", cur);
 	    else
-		vim_snprintf(t, STAT_BUF_LEN, "[%d/%d]", cnt, cur);
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[%d/%d]", cnt, cur);
 	}
 	else
 #endif
 	{
 	    if (cur == OUT_OF_TIME)
-		vim_snprintf(t, STAT_BUF_LEN, "[?/??]");
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[?/??]");
 	    else if (cnt > 99 && cur > 99)
-		vim_snprintf(t, STAT_BUF_LEN, "[>99/>99]");
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[>99/>99]");
 	    else if (cnt > 99)
-		vim_snprintf(t, STAT_BUF_LEN, "[%d/>99]", cur);
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[%d/>99]", cur);
 	    else
-		vim_snprintf(t, STAT_BUF_LEN, "[%d/%d]", cur, cnt);
+		vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[%d/%d]", cur, cnt);
 	}
 
 	len = STRLEN(t);
-	if (show_top_bot_msg && len + 3 < STAT_BUF_LEN)
+	if (show_top_bot_msg && len + 3 < SEARCH_STAT_BUF_LEN)
 	{
 	    STRCPY(t + len, " W");
 	    len += 2;
diff --git a/src/version.c b/src/version.c
index fb1235c..99bfb98 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1289,
+/**/
     1288,
 /**/
     1287,
