diff --git a/src/lib-sieve/sieve-actions.c b/src/lib-sieve/sieve-actions.c
index 9e9c845f83584056ee2a2d3be8b56825114a6619..249278a6bef99f4e7c6e6c35c1b39a671988c360 100644
--- a/src/lib-sieve/sieve-actions.c
+++ b/src/lib-sieve/sieve-actions.c
@@ -421,7 +421,7 @@ static bool act_store_execute
 
 			if ( keywords != NULL ) {
 				mail_update_keywords(msgdata->mail, MODIFY_REPLACE, keywords);
-				mailbox_keywords_free(trans->box, &keywords);
+				mailbox_keywords_unref(trans->box, &keywords);
 			}
 
 			mail_update_flags(msgdata->mail, MODIFY_REPLACE, trans->flags);