diff --git a/Makefile.am b/Makefile.am
index 20d85a6df6e72ede71fec39cb3a78b9a4a0cc174..b20be0ecfd967d0bacc7923b4bbee6c76f3b7691 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -70,6 +70,7 @@ test_cases = \
 	tests/extensions/include/once.svtest \
 	tests/extensions/include/twice.svtest \
 	tests/extensions/include/rfc.svtest \
+	tests/extensions/include/execute.svtest \
 	tests/extensions/imap4flags/basic.svtest \
 	tests/extensions/imap4flags/hasflag.svtest \
 	tests/extensions/imap4flags/errors.svtest \
diff --git a/src/testsuite/testsuite-script.c b/src/testsuite/testsuite-script.c
index 49456a5030d64f8dd89146d689e87d3bf4d81b94..955bf19bfe7c0ed3f0c340461be2f19d021e1369 100644
--- a/src/testsuite/testsuite-script.c
+++ b/src/testsuite/testsuite-script.c
@@ -51,6 +51,7 @@ bool testsuite_script_compile(const char *script_path)
 	/* Currently needed for include (FIXME) */
 	env_put(t_strconcat("SIEVE_DIR=", sieve_dir, "included", NULL));
 	env_put(t_strconcat("SIEVE_GLOBAL_DIR=", sieve_dir, "included-global", NULL));
+	
 
 	if ( (sbin = sieve_compile(script_path, NULL, testsuite_log_ehandler)) == NULL )
 		return FALSE;
diff --git a/src/testsuite/testsuite.c b/src/testsuite/testsuite.c
index 869dfff0c35a10b4bcac02d92166a064868234ee..75fcf858dfc9b5be754a1351162d2c0a6f8352b3 100644
--- a/src/testsuite/testsuite.c
+++ b/src/testsuite/testsuite.c
@@ -189,7 +189,7 @@ int main(int argc, char **argv)
 	/* Currently needed for include (FIXME) */
 	env_put(t_strconcat("SIEVE_DIR=", sieve_dir, "included", NULL));
 	env_put(t_strconcat("SIEVE_GLOBAL_DIR=", sieve_dir, "included-global", NULL));
-	
+
 	/* Compile sieve script */
 	if ( (sbin = sieve_tool_script_compile(scriptfile, NULL)) != NULL ) {
 		struct sieve_error_handler *ehandler;
diff --git a/tests/extensions/include/execute.svtest b/tests/extensions/include/execute.svtest
new file mode 100644
index 0000000000000000000000000000000000000000..54f834abed2a6f253cf4163d4ea355e027971e05
--- /dev/null
+++ b/tests/extensions/include/execute.svtest
@@ -0,0 +1,42 @@
+require "vnd.dovecot.testsuite";
+
+test_set "message" text:
+From: idiot@example.com
+To: idiot@rename-it.nl
+Subject: Frop!
+
+Frop.
+.
+;
+
+test "Actions Fileinto" {
+	test_mailbox :create "aaaa";
+	test_mailbox :create "bbbb";
+	
+	if not test_script_compile "execute/actions-fileinto.sieve" {
+		test_fail "failed to compile sieve script";
+	}
+
+	test_binary :save "actions-fileinto";
+	test_binary :load "actions-fileinto";
+
+	if not test_script_run {
+		test_fail "failed to execute sieve script";
+	}
+
+	if not test_result_execute {
+		test_fail "failed to execute result";
+	}
+
+	test_message :folder "aaaa" 0;
+
+	if not header "subject" "Frop!" {
+		test_fail "fileinto \"aaaa\" not executed.";
+	}	
+
+	test_message :folder "aaaa" 0;
+
+	if not header "subject" "Frop!" {
+		test_fail "fileinto \"bbbb\" not executed.";
+	}	
+}
diff --git a/tests/extensions/include/execute/actions-fileinto.sieve b/tests/extensions/include/execute/actions-fileinto.sieve
new file mode 100644
index 0000000000000000000000000000000000000000..b0b81575756feb7f895e4aaf668de29b3a0cebe3
--- /dev/null
+++ b/tests/extensions/include/execute/actions-fileinto.sieve
@@ -0,0 +1,5 @@
+require "include";
+
+include "actions-fileinto1";
+include "actions-fileinto2";
+include "actions-fileinto3";
diff --git a/tests/extensions/include/execute/included/actions-fileinto1.sieve b/tests/extensions/include/execute/included/actions-fileinto1.sieve
new file mode 100644
index 0000000000000000000000000000000000000000..d4c5031f8b7a04bf1e5a4c92aa8e463a5413e186
--- /dev/null
+++ b/tests/extensions/include/execute/included/actions-fileinto1.sieve
@@ -0,0 +1,3 @@
+require "fileinto";
+
+fileinto "aaaa";
diff --git a/tests/extensions/include/execute/included/actions-fileinto2.sieve b/tests/extensions/include/execute/included/actions-fileinto2.sieve
new file mode 100644
index 0000000000000000000000000000000000000000..f73da0d1ea65cfd1efdf7224d76d98bd5a48c1a8
--- /dev/null
+++ b/tests/extensions/include/execute/included/actions-fileinto2.sieve
@@ -0,0 +1,4 @@
+require "fileinto";
+
+fileinto "bbbb";
+
diff --git a/tests/extensions/include/execute/included/actions-fileinto3.sieve b/tests/extensions/include/execute/included/actions-fileinto3.sieve
new file mode 100644
index 0000000000000000000000000000000000000000..d4c5031f8b7a04bf1e5a4c92aa8e463a5413e186
--- /dev/null
+++ b/tests/extensions/include/execute/included/actions-fileinto3.sieve
@@ -0,0 +1,3 @@
+require "fileinto";
+
+fileinto "aaaa";