diff --git a/src/userfunc.c b/src/userfunc.c
index 3e0d021..3a66d27 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -1958,17 +1958,29 @@
 
     if ((flags & FFED_IS_GLOBAL) == 0)
     {
-	int	find_script_local = in_vim9script() && eval_isnamec1(*name)
-					   && (name[1] != ':' || *name == 's');
-
-	if (find_script_local)
+	// Find script-local function before global one.
+	if (in_vim9script() && eval_isnamec1(*name)
+					   && (name[1] != ':' || *name == 's'))
 	{
-	    // Find script-local function before global one.
 	    func = find_func_with_sid(name[0] == 's' && name[1] == ':'
 				       ? name + 2 : name, current_sctx.sc_sid);
 	    if (func != NULL)
 		return func;
 	}
+	if (in_vim9script() && STRNCMP(name, "<SNR>", 5) == 0)
+	{
+	    char_u  *p = name + 5;
+	    long    sid;
+
+	    // printable "<SNR>123_Name" form
+	    sid = getdigits(&p);
+	    if (*p == '_')
+	    {
+		func = find_func_with_sid(p + 1, (int)sid);
+		if (func != NULL)
+		    return func;
+	    }
+	}
     }
 
     if ((flags & FFED_NO_GLOBAL) == 0)
@@ -4068,6 +4080,23 @@
 }
 
 /*
+ * Return script-local "fname" with the 3-byte sequence replaced by
+ * printable <SNR> in allocated memory.
+ */
+    char_u *
+alloc_printable_func_name(char_u *fname)
+{
+    char_u *n = alloc(STRLEN(fname + 3) + 6);
+
+    if (n != NULL)
+    {
+	STRCPY(n, "<SNR>");
+	STRCPY(n + 5, fname + 3);
+    }
+    return n;
+}
+
+/*
  * Call trans_function_name(), except that a lambda is returned as-is.
  * Returns the name in allocated memory.
  */
