diff --git a/sieve/tests/actions.sieve b/sieve/tests/actions.sieve
index eeb7b76689135559419db1b00d0ebbf25eb40f99..142a450bd80137698591b024e923a9fd3921c62d 100644
--- a/sieve/tests/actions.sieve
+++ b/sieve/tests/actions.sieve
@@ -12,7 +12,7 @@ if address :contains "to" "vestingbar" {
 #redirect "nico@example.nl";
 #redirect "stephan@example.com";
 
-#fileinto "INBOX.frop";
-#fileinto "INBOX";
+fileinto "frop";
+fileinto "INBOX";
 keep;
 discard;
diff --git a/src/lib-sieve/sieve-actions.c b/src/lib-sieve/sieve-actions.c
index e20ba49825551802e5ab1d01ec2391b53081504b..aab85a33066360d22f39f84f1eaa8b509030de1a 100644
--- a/src/lib-sieve/sieve-actions.c
+++ b/src/lib-sieve/sieve-actions.c
@@ -188,10 +188,12 @@ static bool act_store_commit
 {  
 	struct act_store_transaction *trans = 
 		(struct act_store_transaction *) tr_context;
-	bool status = mailbox_transaction_commit(&trans->mail_trans);
+	bool status = mailbox_transaction_commit(&trans->mail_trans) == 0;
 	
 	act_store_log_status(trans, aenv->msgdata, FALSE, status);
 	
+	mailbox_close(&trans->box);
+	
 	return status;
 }
 
@@ -206,6 +208,8 @@ static void act_store_rollback
 	  mailbox_transaction_rollback(&trans->mail_trans);
   
   act_store_log_status(trans, aenv->msgdata, TRUE, success);
+  
+  mailbox_close(&trans->box);
 }
 
 
diff --git a/src/sieve-bin/sieve-exec.c b/src/sieve-bin/sieve-exec.c
index b52939b6ee55afa56b53cfcbc73a68f8a33eb623..b48d2070791cc10297918ec9f711f07a143df1c5 100644
--- a/src/sieve-bin/sieve-exec.c
+++ b/src/sieve-bin/sieve-exec.c
@@ -106,9 +106,10 @@ int main(int argc, char **argv)
     }
 
 	env_put(t_strdup_printf("NAMESPACE_1=%s", "maildir:/home/stephan/Maildir"));
-	env_put("NAMESPACE_1_PREFIX=INBOX.");
-	env_put("NAMESPACE_1_LIST=yes");
-	env_put("NAMESPACE_1_SUBSCRIPTIONS=yes");
+	env_put("NAMESPACE_1_INBOX=1");
+	env_put("NAMESPACE_1_LIST=1");
+	env_put("NAMESPACE_1_SEP=.");
+	env_put("NAMESPACE_1_SUBSCRIPTIONS=1");
 
 	namespaces_pool = namespaces_init();