diff --git a/Makefile.am b/Makefile.am
index b46d3673e3ba8a8828be60b01cff011ed03594ba..4f8803dc1a7eed073434015e6506621f8532baf6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,6 +37,7 @@ test_cases = \
 	tests/extensions/variables/string.svtest \
 	tests/extensions/variables/errors.svtest \
 	tests/extensions/include/variables.svtest \
+	tests/extensions/include/errors.svtest \
 	tests/extensions/imapflags/basic.svtest \
 	tests/extensions/imapflags/hasflag.svtest \
 	tests/compile/compile.svtest \
diff --git a/src/lib-sieve/plugins/include/include-variables-error2.sieve b/src/lib-sieve/plugins/include/include-variables-error2.sieve
deleted file mode 100644
index f06a7df1ac23a021d7969fb49d22eeab6db0011b..0000000000000000000000000000000000000000
--- a/src/lib-sieve/plugins/include/include-variables-error2.sieve
+++ /dev/null
@@ -1,6 +0,0 @@
-require "include";
-require "variables";
-import "frop";
-import ["friep", "frml"];
-export ["friep"];
-
diff --git a/tests/extensions/include/errors.svtest b/tests/extensions/include/errors.svtest
new file mode 100644
index 0000000000000000000000000000000000000000..a326070608c5791182a1999e8037d122d090d67a
--- /dev/null
+++ b/tests/extensions/include/errors.svtest
@@ -0,0 +1,32 @@
+require "vnd.dovecot.testsuite";
+
+require "relational";
+require "comparator-i;ascii-numeric";
+
+/*
+ * Using import/export without variables required
+ */
+
+test "Variables inactive" {
+	if test_compile "errors/variables-inactive.sieve" {
+		test_fail "compile should have failed";
+	}
+
+	if not test_error :count "eq" :comparator "i;ascii-numeric" "3" {
+		test_fail "wrong number of errors reported";
+	}
+}
+
+/*
+ * Generic variables errors
+ */
+
+test "Variables" {
+	if test_compile "errors/variables.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/include/include-variables-error.sieve b/tests/extensions/include/errors/variables-inactive.sieve
similarity index 80%
rename from src/lib-sieve/plugins/include/include-variables-error.sieve
rename to tests/extensions/include/errors/variables-inactive.sieve
index bb2b5bcb427b61c6e177fce4f7b1c6eb86426ff9..5506db357cb12b36bc291a16ec935c5becbe1b50 100644
--- a/src/lib-sieve/plugins/include/include-variables-error.sieve
+++ b/tests/extensions/include/errors/variables-inactive.sieve
@@ -1,5 +1,7 @@
 require "include";
 require "fileinto";
+
+import "friep";
 export "frop";
 
 fileinto "Frop";
diff --git a/tests/extensions/include/errors/variables.sieve b/tests/extensions/include/errors/variables.sieve
new file mode 100644
index 0000000000000000000000000000000000000000..ac6e9a6bd66ad15c0c661a83f70bf2615c79235d
--- /dev/null
+++ b/tests/extensions/include/errors/variables.sieve
@@ -0,0 +1,18 @@
+require "include";
+require "variables";
+
+# Importing unknown variable
+import "frop";
+
+# Importing unknown variable
+import ["friep", "frml"];
+
+# Not an error
+export ["friep"];
+
+import "friep";
+
+keep;
+
+export "friep";
+