diff --git a/src/evalfunc.c b/src/evalfunc.c
index 65c34cd..83b878b 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -382,6 +382,17 @@
     return &t_any;
 }
 
+    static type_T *
+ret_remove(int argcount UNUSED, type_T **argtypes)
+{
+    if (argtypes[0]->tt_type == VAR_LIST
+	    || argtypes[0]->tt_type == VAR_DICT)
+	return argtypes[0]->tt_member;
+    if (argtypes[0]->tt_type == VAR_BLOB)
+	return &t_number;
+    return &t_any;
+}
+
 static type_T *ret_f_function(int argcount, type_T **argtypes);
 
 /*
@@ -827,7 +838,7 @@
     {"remote_read",	1, 2, FEARG_1,	  ret_string,	f_remote_read},
     {"remote_send",	2, 3, FEARG_1,	  ret_string,	f_remote_send},
     {"remote_startserver", 1, 1, FEARG_1, ret_void,	f_remote_startserver},
-    {"remove",		2, 3, FEARG_1,	  ret_any,	f_remove},
+    {"remove",		2, 3, FEARG_1,	  ret_remove,	f_remove},
     {"rename",		2, 2, FEARG_1,	  ret_number,	f_rename},
     {"repeat",		2, 2, FEARG_1,	  ret_first_arg, f_repeat},
     {"resolve",		1, 1, FEARG_1,	  ret_string,	f_resolve},
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 65b5257..347dc81 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -927,6 +927,15 @@
   assert_equal(6, res)
 enddef
 
+def Test_remove_return_type()
+  let l = remove(#{one: [1, 2], two: [3, 4]}, 'one')
+  let res = 0
+  for n in l
+    res += n
+  endfor
+  assert_equal(3, res)
+enddef
+
 def Test_filter_return_type()
   let l = filter([1, 2, 3], {-> 1})
   let res = 0
diff --git a/src/version.c b/src/version.c
index 6d4d6e9..65cf985 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1143,
+/**/
     1142,
 /**/
     1141,
