diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index bf88d93..b1c1c18 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -724,20 +724,22 @@
 enddef
 
 
-def FuncWithDefault(arg: string = 'default', nr = 77): string
+def FuncWithDefault(l: number, arg: string = "default", nr = 77): string
   return arg .. nr
 enddef
 
 def Test_disassemble_call_default()
   var res = execute('disass FuncWithDefault')
   assert_match('FuncWithDefault\_s*' ..
+        '  arg = "default"\_s*' ..
         '\d JUMP_IF_ARG_SET arg\[-2\] -> 3\_s*' ..
         '\d PUSHS "default"\_s*' ..
         '\d STORE arg\[-2]\_s*' ..
+        '  nr = 77\_s*' ..
         '3 JUMP_IF_ARG_SET arg\[-1\] -> 6\_s*' ..
         '\d PUSHNR 77\_s*' ..
         '\d STORE arg\[-1]\_s*' ..
-        'return arg .. nr\_s*' ..
+        '  return arg .. nr\_s*' ..
         '6 LOAD arg\[-2]\_s*' ..
         '\d LOAD arg\[-1]\_s*' ..
         '\d 2STRING stack\[-1]\_s*' ..
diff --git a/src/version.c b/src/version.c
index fa2dfae..01ec9a1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2792,
+/**/
     2791,
 /**/
     2790,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index f471454..c90fb65 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -4338,6 +4338,7 @@
     int		line_idx = 0;
     int		prev_current = 0;
     int		current;
+    int		def_arg_idx = 0;
 
     for (current = 0; current < instr_count; ++current)
     {
@@ -4345,6 +4346,7 @@
 	char	    *line;
 
 	if (ufunc != NULL)
+	{
 	    while (line_idx < iptr->isn_lnum
 					  && line_idx < ufunc->uf_lines.ga_len)
 	    {
@@ -4357,6 +4359,23 @@
 		if (line != NULL)
 		    msg(line);
 	    }
+	    if (iptr->isn_type == ISN_JUMP_IF_ARG_SET)
+	    {
+		int	first_def_arg = ufunc->uf_args.ga_len
+						   - ufunc->uf_def_args.ga_len;
+
+		if (def_arg_idx > 0)
+		    msg_puts("\n\n");
+		msg_start();
+		msg_puts("  ");
+		msg_puts(((char **)(ufunc->uf_args.ga_data))[
+						 first_def_arg + def_arg_idx]);
+		msg_puts(" = ");
+		msg_puts(((char **)(ufunc->uf_def_args.ga_data))[def_arg_idx++]);
+		msg_clr_eos();
+		msg_end();
+	    }
+	}
 
 	switch (iptr->isn_type)
 	{
