updated for version 7.1-173
diff --git a/src/regexp.c b/src/regexp.c
index 6717d2c..d61473c 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -3810,11 +3810,11 @@
 	    break;
 
 	  case RE_BOF:
-	    /* Passing -1 to the getline() function provided for the search
-	     * should always return NULL if the current line is the first
-	     * line of the file. */
+	    /* We're not at the beginning of the file when below the first
+	     * line where we started, not at the start of the line or we
+	     * didn't start at the first line of the buffer. */
 	    if (reglnum != 0 || reginput != regline
-			|| (REG_MULTI && reg_getline((linenr_T)-1) != NULL))
+					  || (REG_MULTI && reg_firstlnum > 1))
 		status = RA_NOMATCH;
 	    break;
 
diff --git a/src/version.c b/src/version.c
index 1bf84d3..3310ef2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    173,
+/**/
     172,
 /**/
     171,