diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 3232d9b..41063c5 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -958,6 +958,20 @@
   search('bar', 'W', 0, 0, () => 1)->assert_equal(0)
   assert_fails("search('bar', '', 0, 0, () => -1)", 'E1023:')
   assert_fails("search('bar', '', 0, 0, () => -1)", 'E1023:')
+
+  setline(1, "find this word")
+  normal gg
+  var col = 7
+  assert_equal(1, search('this', '', 0, 0, 'col(".") > col'))
+  normal 0
+  assert_equal([1, 6], searchpos('this', '', 0, 0, 'col(".") > col'))
+
+  col = 5
+  normal 0
+  assert_equal(0, search('this', '', 0, 0, 'col(".") > col'))
+  normal 0
+  assert_equal([0, 0], searchpos('this', '', 0, 0, 'col(".") > col'))
+  bwipe!
 enddef
 
 def Test_searchcount()
@@ -977,14 +991,21 @@
 def Test_searchpair()
   new
   setline(1, "here { and } there")
+
   normal f{
   var col = 15
   assert_equal(1, searchpair('{', '', '}', '', 'col(".") > col'))
   assert_equal(12, col('.'))
+  normal 0f{
+  assert_equal([1, 12], searchpairpos('{', '', '}', '', 'col(".") > col'))
+
   col = 8
   normal 0f{
   assert_equal(0, searchpair('{', '', '}', '', 'col(".") > col'))
   assert_equal(6, col('.'))
+  normal 0f{
+  assert_equal([0, 0], searchpairpos('{', '', '}', '', 'col(".") > col'))
+
   bwipe!
 enddef
 
diff --git a/src/version.c b/src/version.c
index 12aace8..01c7792 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2843,
+/**/
     2842,
 /**/
     2841,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 03aca55..fd32660 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -3285,8 +3285,12 @@
     vim_strncpy(namebuf, *arg, varlen);
     name = fname_trans_sid(namebuf, fname_buf, &tofree, &error);
 
-    // we handle the "skip" argument of searchpair() differently
-    is_searchpair = (varlen == 10 && STRNCMP(*arg, "searchpair", 10) == 0);
+    // We handle the "skip" argument of searchpair() and searchpairpos()
+    // differently.
+    is_searchpair = (varlen == 6 && STRNCMP(*arg, "search", 6) == 0)
+	         || (varlen == 9 && STRNCMP(*arg, "searchpos", 9) == 0)
+	        || (varlen == 10 && STRNCMP(*arg, "searchpair", 10) == 0)
+	        || (varlen == 13 && STRNCMP(*arg, "searchpairpos", 13) == 0);
 
     *arg = skipwhite(*arg + varlen + 1);
     if (compile_arguments(arg, cctx, &argcount, is_searchpair) == FAIL)
