diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index 2189a0e..d45b998 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -612,7 +612,8 @@
       call assert_equal(4, Ref('text'))
   END
   call v9.CheckTransLegacySuccess(lines)
-  " cannot create s: variable in :def function
+  " skip CheckTransDefSuccess(), cannot assign to script variable
+  call map(lines, {k, v -> v =~ 'legacy' ? v : substitute(v, 's:', '', 'g')})
   call v9.CheckTransVim9Success(lines)
 endfunc
 
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index 6baba97..e2820db 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -2798,7 +2798,7 @@
   call assert_fails('let l:.trim = {x -> " " .. x}', 'E704:')
   let lines =<< trim END
     vim9script
-    var s:trim = (x) => " " .. x
+    var trim = (x) => " " .. x
   END
   call v9.CheckScriptFailure(lines, 'E704:')
 
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index 933f443..7e3fd29 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -1514,11 +1514,11 @@
     bw!
 
     # Test for using a script-local function name
-    def s:LocalCompleteFunc(findstart: number, base: string): any
+    def LocalCompleteFunc(findstart: number, base: string): any
       add(g:LocalCompleteFuncArgs, [findstart, base])
       return findstart ? 0 : []
     enddef
-    &completefunc = s:LocalCompleteFunc
+    &completefunc = LocalCompleteFunc
     new | only
     setline(1, 'three')
     g:LocalCompleteFuncArgs = []
@@ -1771,11 +1771,11 @@
     bw!
 
     # Test for using a script-local function name
-    def s:LocalOmniFunc(findstart: number, base: string): any
+    def LocalOmniFunc(findstart: number, base: string): any
       add(g:LocalOmniFuncArgs, [findstart, base])
       return findstart ? 0 : []
     enddef
-    &omnifunc = s:LocalOmniFunc
+    &omnifunc = LocalOmniFunc
     new | only
     setline(1, 'three')
     g:LocalOmniFuncArgs = []
@@ -2064,11 +2064,11 @@
     bw!
 
     # Test for using a script-local function name
-    def s:LocalTsrFunc(findstart: number, base: string): any
+    def LocalTsrFunc(findstart: number, base: string): any
       add(g:LocalTsrFuncArgs, [findstart, base])
       return findstart ? 0 : []
     enddef
-    &thesaurusfunc = s:LocalTsrFunc
+    &thesaurusfunc = LocalTsrFunc
     new | only
     setline(1, 'three')
     g:LocalTsrFuncArgs = []
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim
index 2ed6a80..cd987ab 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -684,10 +684,10 @@
     bw!
 
     # Test for using a script-local function name
-    def s:LocalOpFunc(type: string): void
+    def LocalOpFunc(type: string): void
       g:LocalOpFuncArgs = [type]
     enddef
-    &opfunc = s:LocalOpFunc
+    &opfunc = LocalOpFunc
     g:LocalOpFuncArgs = []
     normal! g@l
     assert_equal(['char'], g:LocalOpFuncArgs)
diff --git a/src/testdir/test_tagfunc.vim b/src/testdir/test_tagfunc.vim
index 66a58ec..05d8473 100644
--- a/src/testdir/test_tagfunc.vim
+++ b/src/testdir/test_tagfunc.vim
@@ -369,11 +369,11 @@
     bw!
 
     # Test for using a script-local function name
-    def s:LocalTagFunc(pat: string, flags: string, info: dict<any> ): any
+    def LocalTagFunc(pat: string, flags: string, info: dict<any> ): any
       g:LocalTagFuncArgs = [pat, flags, info]
       return null
     enddef
-    &tagfunc = s:LocalTagFunc
+    &tagfunc = LocalTagFunc
     new
     g:LocalTagFuncArgs = []
     assert_fails('tag a12', 'E433:')
diff --git a/src/version.c b/src/version.c
index 1c59ff9..933fe36 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4361,
+/**/
     4360,
 /**/
     4359,
