diff --git a/src/testsuite/cmd-test-message.c b/src/testsuite/cmd-test-message.c
index 4a4d804d4216ea62f2f3d2eb5be6df1c6be77468..735f6a6a3454724258a9c6af9b583aec84c2271a 100644
--- a/src/testsuite/cmd-test-message.c
+++ b/src/testsuite/cmd-test-message.c
@@ -390,7 +390,8 @@ static int cmd_test_message_mailbox_operation_execute
 	}
 
 	if ( !result )
-		testsuite_test_failf("no outgoing SMTP message with index %d", msg_index);
+		testsuite_test_failf("no message in folder '%s' with index %d", 
+			str_c(folder), msg_index);
 
 	return SIEVE_EXEC_OK;
 }
diff --git a/src/testsuite/testsuite-script.c b/src/testsuite/testsuite-script.c
index f234d2f991588eb376eba3fa788bf96c2a1d780f..3a0ed6df5efa224158ad7072bbfcdf9cceccacb7 100644
--- a/src/testsuite/testsuite-script.c
+++ b/src/testsuite/testsuite-script.c
@@ -93,7 +93,6 @@ bool testsuite_script_run(const struct sieve_runtime_env *renv)
 	/* Compose script execution environment */
 	memset(&scriptenv, 0, sizeof(scriptenv));
 	scriptenv.default_mailbox = "INBOX";
-	scriptenv.namespaces = NULL;
 	scriptenv.username = "user";
 	scriptenv.hostname = "host.example.com";
 	scriptenv.postmaster_address = "postmaster@example.com";
@@ -101,6 +100,8 @@ bool testsuite_script_run(const struct sieve_runtime_env *renv)
 	scriptenv.smtp_close = NULL;
 	scriptenv.duplicate_mark = NULL;
 	scriptenv.duplicate_check = NULL;
+	scriptenv.namespaces = renv->scriptenv->namespaces;
+	scriptenv.trace_stream = renv->scriptenv->trace_stream;
 	
 	result = testsuite_result_get();
 
@@ -162,6 +163,8 @@ bool testsuite_script_multiscript
 	scriptenv.smtp_close = NULL;
 	scriptenv.duplicate_mark = NULL;
 	scriptenv.duplicate_check = NULL;
+	scriptenv.namespaces = renv->scriptenv->namespaces;
+	scriptenv.trace_stream = renv->scriptenv->trace_stream;	
 	
 	result = testsuite_result_get();
 
diff --git a/tests/extensions/imap4flags/multiscript.svtest b/tests/extensions/imap4flags/multiscript.svtest
index 0a0418cb1dec445e901fb88e8850521a4cb46e54..98f5a2ac2223bde2fc8e0931156dafbf1ffcbfde 100644
--- a/tests/extensions/imap4flags/multiscript.svtest
+++ b/tests/extensions/imap4flags/multiscript.svtest
@@ -1,4 +1,9 @@
 require "vnd.dovecot.testsuite";
+require "imap4flags";
+require "relational";
+require "comparator-i;ascii-numeric";
+require "mailbox";
+require "fileinto";
 
 test "Segfault Trigger 1" {
 
@@ -11,3 +16,44 @@ test "Segfault Trigger 1" {
 	}
 }
 
+test_set "message" text:
+From: Henry von Flockenstoffen <henry@example.com>
+To: Dieter von Ausburg <dieter@example.com>
+Subject: Test message.
+
+Test message.
+.
+;
+
+test "Internal Flags" {
+    if hasflag :comparator "i;ascii-numeric" :count "ge" "1" {
+        test_fail "some flags or keywords are already set";
+    }
+
+	if not test_multiscript [
+		"multiscript/setflag.sieve", 
+		"multiscript/fileinto.sieve"]
+	{
+		test_fail "failed multiscript execution";	
+	}
+	
+    if not test_result_execute {
+        test_fail "failed to execute first result";
+    }
+
+	test_result_reset;	
+	test_message :folder "folder" 0;
+
+    if not hasflag "\\answered" {
+        test_fail "\\answered flag not stored for message";
+    }
+
+    if not hasflag "$label1" {
+        test_fail "$label1 keyword not stored for message";
+    }
+
+    if not hasflag :comparator "i;ascii-numeric" :count "eq" "2" {
+        test_fail "invalid number of flags set for message";
+    }
+}
+
diff --git a/tests/extensions/imap4flags/multiscript/fileinto.sieve b/tests/extensions/imap4flags/multiscript/fileinto.sieve
new file mode 100644
index 0000000000000000000000000000000000000000..94892a5c838cd2b9d8ba1b71fd76ac3d4dc30fb4
--- /dev/null
+++ b/tests/extensions/imap4flags/multiscript/fileinto.sieve
@@ -0,0 +1,4 @@
+require "fileinto";
+require "mailbox";
+
+fileinto :create "folder";
diff --git a/tests/extensions/imap4flags/multiscript/setflag.sieve b/tests/extensions/imap4flags/multiscript/setflag.sieve
new file mode 100644
index 0000000000000000000000000000000000000000..c992d1989833ae5f5511f163e7733d617d26a684
--- /dev/null
+++ b/tests/extensions/imap4flags/multiscript/setflag.sieve
@@ -0,0 +1,3 @@
+require "imap4flags";
+
+setflag "$label1 \\answered";