diff --git a/src/lib-sieve/sieve-actions.c b/src/lib-sieve/sieve-actions.c
index 830d874fab6fcd392654557a8fac566c3d4993c9..bb67d4a320b215d91889f4e48fba45e6f95a4f66 100644
--- a/src/lib-sieve/sieve-actions.c
+++ b/src/lib-sieve/sieve-actions.c
@@ -256,7 +256,7 @@ void sieve_act_store_add_flags
 
 			const char *kw_error;
 
-			if ( trans->box != NULL ) {
+			if ( trans->box != NULL && trans->error_code == MAIL_ERROR_NONE ) {
 				if ( mailbox_keyword_is_valid(trans->box, *kw, &kw_error) )
 					array_append(&trans->keywords, kw, 1);
 				else {