diff --git a/src/errors.h b/src/errors.h
index 3b54f1d..336c187 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -3442,4 +3442,6 @@
 	INIT(= N_("E1358: Using \"super\" not in a child class"));
 EXTERN char e_cannot_define_new_function_in_abstract_class[]
 	INIT(= N_("E1359: Cannot define a \"new\" function in an abstract class"));
+EXTERN char e_invalid_command_str_expected_str[]
+	INIT(= N_("E476: Invalid command: %s, expected %s"));
 #endif
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 7e12722..325fee5 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -128,7 +128,7 @@
 	EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM,
 	ADDR_NONE),
 EXCMD(CMD_abstract,	"abstract",	ex_class,
-	EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
+	EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK|EX_EXPORT,
 	ADDR_NONE),
 EXCMD(CMD_all,		"all",		ex_all,
 	EX_BANG|EX_RANGE|EX_COUNT|EX_TRLBAR,
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index 5edd511..a496b6d 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -164,6 +164,24 @@
   v9.CheckScriptSuccess(lines)
 enddef
 
+def Test_class_interface_wrong_end()
+  var lines =<< trim END
+      vim9script
+      abstract class SomeName
+        this.member = 'text'
+      endinterface
+  END
+  v9.CheckScriptFailure(lines, 'E476: Invalid command: endinterface, expected endclass')
+
+  lines =<< trim END
+      vim9script
+      export interface AnotherName
+        this.member: string
+      endclass
+  END
+  v9.CheckScriptFailure(lines, 'E476: Invalid command: endclass, expected endinterface')
+enddef
+
 def Test_class_member_initializer()
   var lines =<< trim END
       vim9script
@@ -845,6 +863,20 @@
       enddef
   END
   v9.CheckScriptSuccess(lines)
+
+  var imported =<< trim END
+      vim9script
+      export abstract class EnterExit
+          def Enter(): void
+          enddef
+          def Exit(): void
+          enddef
+      endclass
+  END
+  writefile(imported, 'XdefIntf2.vim', 'D')
+
+  lines[1] = " import './XdefIntf2.vim' as defIntf"
+  v9.CheckScriptSuccess(lines)
 enddef
 
 def Test_class_implements_interface()
diff --git a/src/version.c b/src/version.c
index 52502b5..cb304ed 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1249,
+/**/
     1248,
 /**/
     1247,
diff --git a/src/vim9class.c b/src/vim9class.c
index 4845005..d64e35e 100644
--- a/src/vim9class.c
+++ b/src/vim9class.c
@@ -423,7 +423,7 @@
 	char *wrong_name = is_class ? "endinterface" : "endclass";
 	if (checkforcmd(&p, wrong_name, is_class ? 5 : 4))
 	{
-	    semsg(_(e_invalid_command_str), line);
+	    semsg(_(e_invalid_command_str_expected_str), line, end_name);
 	    break;
 	}
 
