diff --git a/src/tag.c b/src/tag.c
index b36415c..6912e87 100644
--- a/src/tag.c
+++ b/src/tag.c
@@ -3714,6 +3714,7 @@
 #endif
     size_t	len;
     char_u	*lbuf;
+    int		isdigit = FALSE;
 
     if (postponed_split == 0 && !check_can_set_curbuf_forceit(forceit))
 	return FAIL;
@@ -3725,7 +3726,7 @@
     if (lbuf != NULL)
 	mch_memmove(lbuf, lbuf_arg, len);
 
-    pbuf = alloc(LSIZE);
+    pbuf = alloc_clear(LSIZE);
 
     // parse the match line into the tagp structure
     if (pbuf == NULL || lbuf == NULL || parse_match(lbuf, &tagp) == FAIL)
@@ -3740,14 +3741,21 @@
 
     // copy the command to pbuf[], remove trailing CR/NL
     str = tagp.command;
-    for (pbuf_end = pbuf; *str && *str != '\n' && *str != '\r'; )
+    if (VIM_ISDIGIT(*str))
+    {
+	// need to inject a ':' for a proper Vim9 :nr command
+	isdigit = TRUE;
+	pbuf[0] = ':';
+    }
+    for (pbuf_end = pbuf + isdigit;
+	    *str && *str != '\n' && *str != '\r'; )
     {
 #ifdef FEAT_EMACS_TAGS
 	if (tagp.is_etag && *str == ',')// stop at ',' after line number
 	    break;
 #endif
 	*pbuf_end++ = *str++;
-	if (pbuf_end - pbuf + 1 >= LSIZE)
+	if (pbuf_end - pbuf + 1 + isdigit >= LSIZE)
 	    break;
     }
     *pbuf_end = NUL;
@@ -3760,6 +3768,9 @@
 	 * Remove the "<Tab>fieldname:value" stuff; we don't need it here.
 	 */
 	str = pbuf;
+	// skip over the ':'
+	if (isdigit)
+	    str++;
 	if (find_extra(&str) == OK)
 	{
 	    pbuf_end = str;
diff --git a/src/testdir/test_tagjump.vim b/src/testdir/test_tagjump.vim
index e4b258c..f53d9b8 100644
--- a/src/testdir/test_tagjump.vim
+++ b/src/testdir/test_tagjump.vim
@@ -1650,4 +1650,25 @@
   set startofline&
 endfunc
 
+func Test_tag_excmd_with_number_vim9script()
+  call writefile(["1#1\tXfile\t2;\"\ti"], 'Xtags', 'D')
+  call writefile(['f', 'foobar'], 'Xfile', 'D')
+  let list =<< trim END
+  vim9script
+  command! Tag call Tag()
+  def Tag(): void
+    exe "tag 1#1"
+  enddef
+  END
+  call writefile(list, 'Xtags.vim', 'D')
+
+  setlocal tags=Xtags
+  so Xtags.vim
+  :Tag
+  call assert_equal('Xfile', bufname('%'))
+  call assert_equal(2, line('.'))
+
+  bwipe!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 01c3050..e7cabf8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1423,
+/**/
     1422,
 /**/
     1421,
