diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 4ac4643..86b0763 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -679,6 +679,30 @@
   assert_equal('ok', g:result)
   unlet g:result
 
+  lines =<< trim END
+      vim9script
+      def Outer()
+        def _Inner()
+          echo 'bad'
+        enddef
+        Inner()
+      enddef
+      defcompile
+  END
+  v9.CheckScriptFailure(lines, 'E128:')
+
+  lines =<< trim END
+      vim9script
+      def Outer()
+        def g:inner()
+          echo 'bad'
+        enddef
+        Inner()
+      enddef
+      defcompile
+  END
+  v9.CheckScriptFailure(lines, 'E128:')
+
   # nested function inside conditional
   lines =<< trim END
       vim9script
@@ -3135,11 +3159,11 @@
       def Iter(container: any): any
         var idx = -1
         var obj = {state: container}
-        def g:__NextItem__(self: dict<any>): any
+        def g:NextItem__(self: dict<any>): any
           ++idx
           return self.state[idx]
         enddef
-        obj.__next__ = function('g:__NextItem__', [obj])
+        obj.__next__ = function('g:NextItem__', [obj])
         return obj
       enddef
 
diff --git a/src/version.c b/src/version.c
index c1f90cd..2d0bb2d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4323,
+/**/
     4322,
 /**/
     4321,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index d0479a5..080a53c 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -886,6 +886,11 @@
     }
     if (check_defined(name_start, name_end - name_start, cctx, FALSE) == FAIL)
 	return NULL;
+    if (!ASCII_ISUPPER(is_global ? name_start[2] : name_start[0]))
+    {
+	semsg(_(e_function_name_must_start_with_capital_or_s_str), name_start);
+	return NULL;
+    }
 
     eap->arg = name_end;
     fill_exarg_from_cctx(eap, cctx);
