diff --git a/src/evalbuffer.c b/src/evalbuffer.c
index 4ca68c8..34155b9 100644
--- a/src/evalbuffer.c
+++ b/src/evalbuffer.c
@@ -624,21 +624,11 @@
 
 	if (sel_d != NULL)
 	{
-	    dictitem_T	*di;
-
 	    filtered = TRUE;
-
-	    di = dict_find(sel_d, (char_u *)"buflisted", -1);
-	    if (di != NULL && tv_get_number(&di->di_tv))
-		sel_buflisted = TRUE;
-
-	    di = dict_find(sel_d, (char_u *)"bufloaded", -1);
-	    if (di != NULL && tv_get_number(&di->di_tv))
-		sel_bufloaded = TRUE;
-
-	    di = dict_find(sel_d, (char_u *)"bufmodified", -1);
-	    if (di != NULL && tv_get_number(&di->di_tv))
-		sel_bufmodified = TRUE;
+	    sel_buflisted = dict_get_bool(sel_d, (char_u *)"buflisted", FALSE);
+	    sel_bufloaded = dict_get_bool(sel_d, (char_u *)"bufloaded", FALSE);
+	    sel_bufmodified = dict_get_bool(sel_d, (char_u *)"bufmodified",
+									FALSE);
 	}
     }
     else if (argvars[0].v_type != VAR_UNKNOWN)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 7cc323c..7303db9 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1493,9 +1493,16 @@
   close
 enddef
 
-def Test_gebufinfo()
+def Test_getbufinfo()
   let bufinfo = getbufinfo(bufnr())
   assert_equal(bufinfo, getbufinfo('%'))
+
+  edit Xtestfile1
+  hide edit Xtestfile2
+  hide enew
+  getbufinfo(#{bufloaded: true, buflisted: true, bufmodified: false})
+      ->len()->assert_equal(3)
+  bwipe Xtestfile1 Xtestfile2
 enddef
 
 def Fibonacci(n: number): number
diff --git a/src/version.c b/src/version.c
index ab9c0c4..9a58f11 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1602,
+/**/
     1601,
 /**/
     1600,
