diff --git a/src/lib-sieve/sieve.c b/src/lib-sieve/sieve.c index 356448993..ab51ad67d 100644 --- a/src/lib-sieve/sieve.c +++ b/src/lib-sieve/sieve.c @@ -714,14 +714,16 @@ bool sieve_multiscript_run sieve_multiscript_execute(mscript, action_ehandler, flags, &mscript->keep); } - mscript->active = - ( mscript->active && mscript->keep && mscript->status > 0 ); + if ( !mscript->keep ) + mscript->active = FALSE; } - if ( mscript->status <= 0 ) + if ( !mscript->active || mscript->status <= 0 ) { + mscript->active = FALSE; return FALSE; + } - return mscript->active; + return TRUE; } bool sieve_multiscript_will_discard