diff --git a/src/evalvars.c b/src/evalvars.c
index f5fef04..e0ca4b8 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -161,7 +161,7 @@
     {VV_NAME("t_typealias",	 VAR_NUMBER), NULL, VV_RO},
     {VV_NAME("t_enum",		 VAR_NUMBER), NULL, VV_RO},
     {VV_NAME("t_enumvalue",	 VAR_NUMBER), NULL, VV_RO},
-    {VV_NAME("stacktrace",	 VAR_LIST), &t_list_string, VV_RO},
+    {VV_NAME("stacktrace",	 VAR_LIST), &t_list_dict_any, VV_RO},
 };
 
 // shorthand
diff --git a/src/testdir/test_stacktrace.vim b/src/testdir/test_stacktrace.vim
index 8cdb6ef..5c71d50 100644
--- a/src/testdir/test_stacktrace.vim
+++ b/src/testdir/test_stacktrace.vim
@@ -1,5 +1,7 @@
 " Test for getstacktrace() and v:stacktrace
 
+import './vim9.vim' as v9
+
 let s:thisfile = expand('%:p')
 let s:testdir = s:thisfile->fnamemodify(':h')
 
@@ -34,7 +36,7 @@
   source Xscript1
   call Xfunc1()
   call AssertStacktrace([
-        \ #{funcref: funcref('Test_getstacktrace'), lnum: 35, filepath: s:thisfile},
+        \ #{funcref: funcref('Test_getstacktrace'), lnum: 37, filepath: s:thisfile},
         \ #{funcref: funcref('Xfunc1'), lnum: 5, filepath: Filepath('Xscript1')},
         \ #{funcref: funcref('Xfunc2'), lnum: 4, filepath: Filepath('Xscript2')},
         \ ], g:stacktrace)
@@ -61,7 +63,7 @@
   source Xscript1
   source Xscript2
   call AssertStacktrace([
-       \ #{funcref: funcref('Test_getstacktrace_event'), lnum: 62, filepath: s:thisfile},
+       \ #{funcref: funcref('Test_getstacktrace_event'), lnum: 64, filepath: s:thisfile},
        \ #{event: 'SourcePre Autocommands for "*"', lnum: 7, filepath: Filepath('Xscript1')},
        \ #{funcref: funcref('Xfunc'), lnum: 4, filepath: Filepath('Xscript1')},
        \ ], g:stacktrace)
@@ -98,10 +100,33 @@
   endtry
   call assert_equal([], v:stacktrace)
   call AssertStacktrace([
-       \ #{funcref: funcref('Test_vstacktrace'), lnum: 95, filepath: s:thisfile},
+       \ #{funcref: funcref('Test_vstacktrace'), lnum: 97, filepath: s:thisfile},
        \ #{funcref: funcref('Xfunc1'), lnum: 5, filepath: Filepath('Xscript1')},
        \ #{funcref: funcref('Xfunc2'), lnum: 4, filepath: Filepath('Xscript2')},
        \ ], stacktrace)
 endfunc
 
+func Test_zzz_stacktrace_vim9()
+  let lines =<< trim [SCRIPT]
+  var stacktrace = getstacktrace()
+  assert_notequal([], stacktrace)
+  for d in stacktrace
+    assert_true(has_key(d, 'lnum'))
+  endfor
+  try
+    throw 'Exception from s:Func'
+  catch
+    assert_notequal([], v:stacktrace)
+    assert_equal(len(stacktrace), len(v:stacktrace))
+    for d in v:stacktrace
+      assert_true(has_key(d, 'lnum'))
+    endfor
+  endtry
+  [SCRIPT]
+  call v9.CheckDefSuccess(lines)
+  " FIXME: v:stacktrace is not cleared after the exception handling, and this
+  " test has to be run as the last one because of this.
+  " call assert_equal([], v:stacktrace)
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index b42c2fc..dc04ffc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    991,
+/**/
     990,
 /**/
     989,
