diff --git a/src/vim9expr.c b/src/vim9expr.c
index 3817e38..883219e 100644
--- a/src/vim9expr.c
+++ b/src/vim9expr.c
@@ -775,6 +775,8 @@
 	    }
 	    else if ((idx = class_member_index(*arg, len, &cl, cctx)) >= 0)
 	    {
+		// Referencing a class member without the class name.  Infer
+		// the class from the def function context.
 		res = generate_CLASSMEMBER(cctx, TRUE, cl, idx);
 	    }
 	    else
@@ -1118,6 +1120,9 @@
     if (lookup_local(namebuf, varlen, NULL, cctx) == FAIL
 	    && arg_exists(namebuf, varlen, NULL, NULL, NULL, cctx) != OK)
     {
+	class_T		*cl = NULL;
+	int		mi = 0;
+
 	// If we can find the function by name generate the right call.
 	// Skip global functions here, a local funcref takes precedence.
 	ufunc = find_func(name, FALSE);
@@ -1136,6 +1141,16 @@
 		goto theend;
 	    }
 	}
+	else if ((mi = class_method_index(name, varlen, &cl, cctx)) >= 0)
+	{
+	    // Class method invocation without the class name.  The
+	    // generate_CALL() function expects the class type at the top of
+	    // the stack.  So push the class type to the stack.
+	    push_type_stack(cctx, &t_class);
+	    res = generate_CALL(cctx, cl->class_class_functions[mi], NULL, 0,
+							type, argcount);
+	    goto theend;
+	}
     }
 
     // If the name is a variable, load it and use PCALL.
