diff --git a/src/ex_getln.c b/src/ex_getln.c
index 804013b..07032bb 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -316,8 +316,8 @@
 			ea.line2 = 1;
 			ea.cmd = ccline.cmdbuff;
 			ea.addr_type = ADDR_LINES;
-			parse_cmd_address(&ea, &dummy);
 			curwin->w_cursor = is_state->search_start;
+			parse_cmd_address(&ea, &dummy);
 			if (ea.addr_count > 0)
 			{
 			    search_first_line = ea.line1;
@@ -401,6 +401,8 @@
 #endif
 	if (!p_hls)
 	    search_flags += SEARCH_KEEP;
+	if (search_first_line != 0)
+	    search_flags += SEARCH_START;
 	c = ccline.cmdbuff[skiplen + patlen];
 	ccline.cmdbuff[skiplen + patlen] = NUL;
 	i = do_search(NULL, firstc == ':' ? '/' : firstc,
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index 7e8ddbe..ac5b228 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -351,7 +351,7 @@
   set incsearch
 endfunc
 
-func Cmdline3_cleanup()
+func Incsearch_cleanup()
   set noincsearch
   call test_override("char_avail", 0)
   bw!
@@ -367,7 +367,7 @@
   call feedkeys("/the\<c-l>\<cr>", 'tx')
   call assert_equal('  2 the~e', getline('.'))
 
-  call Cmdline3_cleanup()
+  call Incsearch_cleanup()
 endfunc
 
 func Test_search_cmdline3s()
@@ -385,7 +385,7 @@
   call feedkeys(":%substitute/the\<c-l>/xxx\<cr>", 'tx')
   call assert_equal('  2 xxxe', getline('.'))
 
-  call Cmdline3_cleanup()
+  call Incsearch_cleanup()
 endfunc
 
 func Test_search_cmdline3g()
@@ -400,7 +400,7 @@
   call feedkeys(":global/the\<c-l>/d\<cr>", 'tx')
   call assert_equal('  3 the theother', getline(2))
 
-  call Cmdline3_cleanup()
+  call Incsearch_cleanup()
 endfunc
 
 func Test_search_cmdline3v()
@@ -417,7 +417,7 @@
   call assert_equal(1, line('$'))
   call assert_equal('  2 the~e', getline(1))
 
-  call Cmdline3_cleanup()
+  call Incsearch_cleanup()
 endfunc
 
 func Test_search_cmdline4()
@@ -797,6 +797,27 @@
   call delete('Xscript')
 endfunc
 
+func Test_incsearch_substitute()
+  if !exists('+incsearch')
+    return
+  endif
+  call test_override("char_avail", 1)
+  new
+  set incsearch
+  for n in range(1, 10)
+    call setline(n, 'foo ' . n)
+  endfor
+  4
+  call feedkeys(":.,.+2s/foo\<BS>o\<BS>o/xxx\<cr>", 'tx')
+  call assert_equal('foo 3', getline(3))
+  call assert_equal('xxx 4', getline(4))
+  call assert_equal('xxx 5', getline(5))
+  call assert_equal('xxx 6', getline(6))
+  call assert_equal('foo 7', getline(7))
+
+  call Incsearch_cleanup()
+endfunc
+
 func Test_search_undefined_behaviour()
   if !has("terminal")
     return
diff --git a/src/version.c b/src/version.c
index 8d02863..a8262a7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -795,6 +795,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    275,
+/**/
     274,
 /**/
     273,
