diff --git a/src/vim9class.c b/src/vim9class.c
index d66fa3e..8dcd92b 100644
--- a/src/vim9class.c
+++ b/src/vim9class.c
@@ -204,17 +204,6 @@
 {
     int is_class = eap->cmdidx == CMD_class;  // FALSE for :interface
 
-    if (!current_script_is_vim9()
-		|| (cmdmod.cmod_flags & CMOD_LEGACY)
-		|| !getline_equal(eap->getline, eap->cookie, getsourceline))
-    {
-	if (is_class)
-	    emsg(_(e_class_can_only_be_defined_in_vim9_script));
-	else
-	    emsg(_(e_interface_can_only_be_defined_in_vim9_script));
-	return;
-    }
-
     char_u *arg = eap->arg;
     int is_abstract = eap->cmdidx == CMD_abstract;
     if (is_abstract)
@@ -225,6 +214,18 @@
 	    return;
 	}
 	arg = skipwhite(arg + 5);
+	is_class = TRUE;
+    }
+
+    if (!current_script_is_vim9()
+		|| (cmdmod.cmod_flags & CMOD_LEGACY)
+		|| !getline_equal(eap->getline, eap->cookie, getsourceline))
+    {
+	if (is_class)
+	    emsg(_(e_class_can_only_be_defined_in_vim9_script));
+	else
+	    emsg(_(e_interface_can_only_be_defined_in_vim9_script));
+	return;
     }
 
     if (!ASCII_ISUPPER(*arg))
@@ -493,6 +494,12 @@
 	    {
 		char_u *name = uf->uf_name;
 		int is_new = STRNCMP(name, "new", 3) == 0;
+		if (is_new && is_abstract)
+		{
+		    emsg(_(e_cannot_define_new_function_in_abstract_class));
+		    success = FALSE;
+		    break;
+		}
 		garray_T *fgap = has_static || is_new
 					       ? &classfunctions : &objmethods;
 		// Check the name isn't used already.
@@ -826,7 +833,7 @@
 		have_new = TRUE;
 		break;
 	    }
-	if (is_class && !have_new)
+	if (is_class && !is_abstract && !have_new)
 	{
 	    // No new() method was defined, add the default constructor.
 	    garray_T fga;
