diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index f8fb494..2f2f62a 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -665,5 +665,54 @@
   v9.CheckScriptFailure(lines, 'E1349: Function "Methods" of interface "Some" not implemented')
 enddef
 
+def Test_class_used_as_type()
+  var lines =<< trim END
+      vim9script
+
+      class Point
+        this.x = 0
+        this.y = 0
+      endclass
+
+      var p: Point
+      p = Point.new(2, 33)
+      assert_equal(2, p.x)
+      assert_equal(33, p.y)
+  END
+  v9.CheckScriptSuccess(lines)
+
+  lines =<< trim END
+      vim9script
+
+      interface HasX
+        this.x: number
+      endinterface
+
+      class Point implements HasX
+        this.x = 0
+        this.y = 0
+      endclass
+
+      var p: Point
+      p = Point.new(2, 33)
+      var hx = p
+      assert_equal(2, hx.x)
+  END
+  v9.CheckScriptSuccess(lines)
+
+  lines =<< trim END
+      vim9script
+
+      class Point
+        this.x = 0
+        this.y = 0
+      endclass
+
+      var p: Point
+      p = 'text'
+  END
+  v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected object but got string')
+enddef
+
 
 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
diff --git a/src/version.c b/src/version.c
index 4352c83..57143ec 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1155,
+/**/
     1154,
 /**/
     1153,
diff --git a/src/vim9type.c b/src/vim9type.c
index c85c3f6..1078861 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -1272,6 +1272,30 @@
 	    break;
     }
 
+    // It can be a class or interface name.
+    typval_T tv;
+    tv.v_type = VAR_UNKNOWN;
+    if (eval_variable(*arg, len, 0, &tv, NULL,
+				     EVAL_VAR_VERBOSE + EVAL_VAR_IMPORT) == OK)
+    {
+	if (tv.v_type == VAR_CLASS && tv.vval.v_class != NULL)
+	{
+	    type_T *type = get_type_ptr(type_gap);
+	    if (type != NULL)
+	    {
+		// Although the name is that of a class or interface, the type
+		// uses will be an object.
+		type->tt_type = VAR_OBJECT;
+		type->tt_member = (type_T *)tv.vval.v_class;
+		clear_tv(&tv);
+		*arg += len;
+		return type;
+	    }
+	}
+
+	clear_tv(&tv);
+    }
+
     if (give_error)
 	semsg(_(e_type_not_recognized_str), *arg);
     return NULL;
