diff --git a/src/option.c b/src/option.c
index b55789d..739b29a 100644
--- a/src/option.c
+++ b/src/option.c
@@ -7205,33 +7205,8 @@
 	// Lambda expression or a funcref
 	tv = eval_expr(optval, NULL);
     else
-    {
 	// treat everything else as a function name string
-
-	// Function name starting with "s:" are supported only in a vimscript
-	// context.
-	if (STRNCMP(optval, "s:", 2) == 0)
-	{
-	    char	sid_buf[25];
-	    char_u	*funcname;
-
-	    if (!SCRIPT_ID_VALID(current_sctx.sc_sid))
-	    {
-		emsg(_(e_using_sid_not_in_script_context));
-		return FAIL;
-	    }
-	    // Expand s: prefix into <SNR>nr_<name>
-	    sprintf(sid_buf, "<SNR>%ld_", (long)current_sctx.sc_sid);
-	    funcname = alloc(STRLEN(sid_buf) + STRLEN(optval + 2) + 1);
-	    if (funcname == NULL)
-		return FAIL;
-	    STRCPY(funcname, sid_buf);
-	    STRCAT(funcname, optval + 2);
-	    tv = alloc_string_tv(funcname);
-	}
-	else
-	    tv = alloc_string_tv(vim_strsave(optval));
-    }
+	tv = alloc_string_tv(vim_strsave(optval));
     if (tv == NULL)
 	return FAIL;
 
