diff --git a/Makefile.am b/Makefile.am
index 6d9e511fa89563b7d73a4bc3fedd94dfb76e2bfd..c4ce4b972c28204d54268f1def2bddf3b52a551c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -27,7 +27,6 @@ test_cases = \
 	tests/match-types/contains.svtest \
 	tests/match-types/matches.svtest \
 	tests/match-types/relational.svtest \
-	tests/match-types/regex.svtest \
 	tests/address-parts/subaddress.svtest \
 	tests/extensions/encoded-character.svtest \
 	tests/extensions/envelope.svtest \
@@ -43,6 +42,8 @@ test_cases = \
 	tests/extensions/imapflags/basic.svtest \
 	tests/extensions/imapflags/hasflag.svtest \
 	tests/extensions/body/basic.svtest \
+	tests/extensions/regex/basic.svtest \
+	tests/extensions/regex/errors.svtest \
 	tests/compile/compile.svtest \
 	tests/compile/compile-examples.svtest \
 	tests/compile/errors.svtest
diff --git a/tests/match-types/regex.svtest b/tests/extensions/regex/basic.svtest
similarity index 100%
rename from tests/match-types/regex.svtest
rename to tests/extensions/regex/basic.svtest
diff --git a/tests/extensions/regex/errors.svtest b/tests/extensions/regex/errors.svtest
new file mode 100644
index 0000000000000000000000000000000000000000..0946a6fe0a700f6f0dc1c9d4cfa64b20d0865830
--- /dev/null
+++ b/tests/extensions/regex/errors.svtest
@@ -0,0 +1,14 @@
+require "vnd.dovecot.testsuite";
+
+require "relational";
+require "comparator-i;ascii-numeric";
+
+test "Compile errors" {
+	if test_compile "errors/compile.sieve" {
+		test_fail "compile should have failed";
+	}
+
+	if not test_error :count "eq" :comparator "i;ascii-numeric" "5" {
+		test_fail "wrong number of errors reported";
+	}
+}
diff --git a/src/lib-sieve/plugins/regex/regex-errors.sieve b/tests/extensions/regex/errors/compile.sieve
similarity index 100%
rename from src/lib-sieve/plugins/regex/regex-errors.sieve
rename to tests/extensions/regex/errors/compile.sieve