diff --git a/src/lib-sieve/sieve-result.c b/src/lib-sieve/sieve-result.c index 6f7c62c4a68d86405dd9ff2fd9368a36e0648753..d960c34effdbbecbda183e338d94463c2251b3c2 100644 --- a/src/lib-sieve/sieve-result.c +++ b/src/lib-sieve/sieve-result.c @@ -1326,8 +1326,10 @@ static int sieve_result_transaction_commit_or_rollback if ( *implicit_keep && keep != NULL ) *keep = TRUE; - if ( commit_status == SIEVE_EXEC_OK ) - result->executed_delivery = seen_delivery; + if ( commit_status == SIEVE_EXEC_OK ) { + result->executed_delivery = + result->executed_delivery || seen_delivery; + } return commit_status; }