diff --git a/src/evalfunc.c b/src/evalfunc.c
index 4aa3b6d..060b5bb 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -431,9 +431,10 @@
     static int
 arg_str_or_nr_or_list(type_T *type, argcontext_T *context)
 {
-    if (type->tt_type == VAR_STRING
-		     || type->tt_type == VAR_NUMBER
-		     || type->tt_type == VAR_LIST)
+    if (type->tt_type == VAR_ANY
+		|| type->tt_type == VAR_STRING
+		|| type->tt_type == VAR_NUMBER
+		|| type->tt_type == VAR_LIST)
 	return OK;
     arg_type_mismatch(&t_string, type, context->arg_idx + 1);
     return FAIL;
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 2a58747..f3e44e3 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -1523,6 +1523,12 @@
 def Test_popup_atcursor()
   CheckDefAndScriptFailure2(['popup_atcursor({"a": 10}, {})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E450: buffer number, text or a list required')
   CheckDefAndScriptFailure2(['popup_atcursor("a", [1, 2])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E715: Dictionary required')
+
+  # Pass variable of type 'any' to popup_atcursor()
+  var what: any = 'Hello'
+  var popupID = what->popup_atcursor({moved: 'any'})
+  assert_equal(0, popupID->popup_getoptions().tabpage)
+  popupID->popup_close()
 enddef
 
 def Test_popup_beval()
@@ -1530,6 +1536,14 @@
   CheckDefAndScriptFailure2(['popup_beval("a", [1, 2])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E715: Dictionary required')
 enddef
 
+def Test_popup_create()
+  # Pass variable of type 'any' to popup_create()
+  var what: any = 'Hello'
+  var popupID = what->popup_create({})
+  assert_equal(0, popupID->popup_getoptions().tabpage)
+  popupID->popup_close()
+enddef
+
 def Test_popup_dialog()
   CheckDefAndScriptFailure2(['popup_dialog({"a": 10}, {})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E450: buffer number, text or a list required')
   CheckDefAndScriptFailure2(['popup_dialog("a", [1, 2])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E715: Dictionary required')
@@ -2358,6 +2372,7 @@
   setline(1, ['abcdefgh'])
   cursor(1, 4)
   assert_equal(4, virtcol('.'))
+  assert_equal(4, virtcol([1, 4]))
   assert_equal(9, virtcol([1, '$']))
   assert_equal(0, virtcol([10, '$']))
   bw!
diff --git a/src/version.c b/src/version.c
index 940c719..9159011 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3154,
+/**/
     3153,
 /**/
     3152,
