diff --git a/src/lib-sieve/sieve-result.c b/src/lib-sieve/sieve-result.c index 6459f3a56705d3778c1cd8cecd8735ee5df43a7a..e819b1987cd1a7de7b4a21d402c7330af8c407dc 100644 --- a/src/lib-sieve/sieve-result.c +++ b/src/lib-sieve/sieve-result.c @@ -1371,6 +1371,8 @@ int sieve_result_execute switch ((ret=_sieve_result_implicit_keep (result, ( status != SIEVE_EXEC_OK ))) ) { case SIEVE_EXEC_OK: + if ( result_status == SIEVE_EXEC_TEMP_FAILURE ) + result_status = SIEVE_EXEC_FAILURE; break; case SIEVE_EXEC_TEMP_FAILURE: if (!result->executed) {