diff --git a/tests/extensions/imap4flags/execute.svtest b/tests/extensions/imap4flags/execute.svtest
index 4aa5c613876e301f85a307777927e483aa21b5ac..8383e31bb704ddbc1481d50bd90b580ab3fcd720 100644
--- a/tests/extensions/imap4flags/execute.svtest
+++ b/tests/extensions/imap4flags/execute.svtest
@@ -1,7 +1,10 @@
 require "vnd.dovecot.testsuite";
+require "imap4flags";
+require "relational";
+
 
 /*
- * Execution testing (currently just meant to trigger any segfaults)
+ * Execution testing
  */
 
 test_mailbox_create "INBOX.Junk";
@@ -19,4 +22,47 @@ test "Flags Side Effect" {
 	if not test_result_execute {
 		test_fail "result execute failed";	
 	}
+
+	test_result_reset;
+
+	if not test_message :folder "INBOX.Junk" 0 {
+		test_fail "message not stored in INBOX.Junk";	
+	}
+
+	if not hasflag :count "eq" "1" {
+		test_fail "invalid number of flags for message in INBOX.Junk";	
+	}
+
+	if not hasflag :is "NONSENSE" {
+		test_fail "invalid flag set for message in INBOX.Junk";	
+	}
+
+	test_result_reset;
+
+	if not test_message :folder "INBOX" 0 {
+		test_fail "message not stored in INBOX";	
+	}
+
+	if not hasflag :count "eq" "1" {
+		test_fail "invalid number of flags for message in INBOX";	
+	}
+
+	if not hasflag :is "\\seen" {
+		test_fail "invalid flag set for message in INBOX";	
+	}
+
+	test_result_reset;
+
+	if not test_message :folder "INBOX.Nonsense" 0 {
+		test_fail "message not stored in INBOX.Nonsense";	
+	}
+
+	if not hasflag :count "eq" "1" {
+		test_fail "invalid number of flags for message in Inbox.Nonsense";	
+	}
+
+	if not hasflag :is "IMPLICIT" {
+		test_fail "invalid flag set for message in Inbox.Nonsene";	
+	}
+
 }