diff --git a/Makefile.am b/Makefile.am
index d024778fb401f344da0ad39864121bbaada7d5a5..ca86a326e6e7e5c1ac85d78ff76b2d8430c6d592 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -48,6 +48,7 @@ test_cases = \
 	tests/extensions/relational/errors.svtest \
 	tests/extensions/subaddress/basic.svtest \
 	tests/extensions/subaddress/rfc.svtest \
+	tests/extensions/vacation/errors.svtest \
 	tests/compile/compile.svtest \
 	tests/compile/examples.svtest \
 	tests/compile/errors.svtest \
diff --git a/tests/extensions/vacation/errors.svtest b/tests/extensions/vacation/errors.svtest
new file mode 100644
index 0000000000000000000000000000000000000000..aa23b485dbea13e45e2cad3de2b78cae651b55a9
--- /dev/null
+++ b/tests/extensions/vacation/errors.svtest
@@ -0,0 +1,19 @@
+require "vnd.dovecot.testsuite";
+
+require "relational";
+require "comparator-i;ascii-numeric";
+
+test "Action conflicts: reject <-> vacation" {
+	if not test_compile "errors/conflict-reject.sieve" {
+		test_fail "compile failed";
+	}
+
+	if test_execute {
+		test_fail "execution should have failed";
+	}
+
+	if test_error :count "gt" :comparator "i;ascii-numeric" "1" {
+		test_fail "too many runtime errors reported";
+	}
+}
+
diff --git a/tests/extensions/vacation/errors/conflict-reject.sieve b/tests/extensions/vacation/errors/conflict-reject.sieve
new file mode 100644
index 0000000000000000000000000000000000000000..aab3b9b25872e53e9143b0d6760ce73a3a2ac371
--- /dev/null
+++ b/tests/extensions/vacation/errors/conflict-reject.sieve
@@ -0,0 +1,5 @@
+require "vacation";
+require "reject";
+
+vacation "Ik ben ff weg.";
+reject "Ik heb nu geen zin aan mail.";