diff --git a/src/search.c b/src/search.c
index de99f2c43938f8be1a2c99bb092629af16895e0d..f38b62642386ad0a0580698c30e7cbc4e7f4e7d2 100644
--- a/src/search.c
+++ b/src/search.c
@@ -812,7 +812,11 @@ searchit(win, buf, pos, dir, pat, count, options, pat_use, stop_lnum)
 #ifdef FEAT_MBYTE
 			if (has_mbyte)
 			{
-			    ptr = ml_get_buf(buf, pos->lnum, FALSE);
+			    /* 'e' offset may put us just below the last line */
+			    if (pos->lnum > buf->b_ml.ml_line_count)
+				ptr = "";
+			    else
+				ptr = ml_get_buf(buf, pos->lnum, FALSE);
 			    pos->col -= (*mb_head_off)(ptr, ptr + pos->col);
 			}
 #endif
diff --git a/src/version.c b/src/version.c
index cb266270c41b6f1ccb3309c8cb5c7044cc1a6ae2..587e05dd3f06f2dfa21e944ea7c66cbac04f25ac 100644
--- a/src/version.c
+++ b/src/version.c
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    186,
 /**/
     185,
 /**/