diff --git a/src/plugins/doveadm-sieve/doveadm-sieve-sync.c b/src/plugins/doveadm-sieve/doveadm-sieve-sync.c index 64c4d326e252d2ecca0308320df6b2cee1aa839b..4d8cdd5ab32f85eb38dbb51281c27dc0a0d1d329 100644 --- a/src/plugins/doveadm-sieve/doveadm-sieve-sync.c +++ b/src/plugins/doveadm-sieve/doveadm-sieve-sync.c @@ -184,14 +184,15 @@ sieve_attribute_set_active(struct mail_storage *storage, scriptname++; /* Activate specified script */ - ret = (sieve_storage_open_script(svstorage, scriptname, - &script, NULL) < 0 ? - -1 : sieve_script_activate(script, last_change)); - if (ret < 0) { + ret = 0; + if (sieve_storage_open_script(svstorage, scriptname, + &script, NULL) < 0 || + sieve_script_activate(script, last_change) < 0) { mail_storage_set_critical( storage, "Failed to activate Sieve script '%s': %s", scriptname, sieve_storage_get_last_error(svstorage, NULL)); + ret = -1; } sieve_script_unref(&script); sieve_storage_set_modified(svstorage, last_change);