diff --git a/src/list.c b/src/list.c
index e4f05e5..e86ec86 100644
--- a/src/list.c
+++ b/src/list.c
@@ -1717,18 +1717,25 @@
 	    else
 	    {
 		int	    error = FALSE;
+		int	    nr = 0;
 
-		i = (long)tv_get_number_chk(&argvars[1], &error);
-		if (error)
-		    goto theend;	// type error; errmsg already given
-		if (i == 1)
-		    info.item_compare_ic = TRUE;
-		else if (argvars[1].v_type != VAR_NUMBER)
-		    info.item_compare_func = tv_get_string(&argvars[1]);
-		else if (i != 0)
+		if (argvars[1].v_type == VAR_NUMBER)
 		{
-		    emsg(_(e_invarg));
-		    goto theend;
+		    nr = tv_get_number_chk(&argvars[1], &error);
+		    if (error)
+			goto theend;	// type error; errmsg already given
+		    if (nr == 1)
+			info.item_compare_ic = TRUE;
+		}
+		if (nr != 1)
+		{
+		    if (argvars[1].v_type != VAR_NUMBER)
+			info.item_compare_func = tv_get_string(&argvars[1]);
+		    else if (nr != 0)
+		    {
+			emsg(_(e_invarg));
+			goto theend;
+		    }
 		}
 		if (info.item_compare_func != NULL)
 		{
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index dcdef80..f3aae7c 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1299,6 +1299,11 @@
   res = [1, 2, 3]->sort()
 enddef
 
+def Test_sort_argument()
+  let res = ['b', 'a', 'c']->sort('i')
+  res->assert_equal(['a', 'b', 'c'])
+enddef
+
 def Test_getqflist_return_type()
   let l = getqflist()
   l->assert_equal([])
diff --git a/src/version.c b/src/version.c
index ff5534f..e06b566 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1701,
+/**/
     1700,
 /**/
     1699,
