diff --git a/src/lib-sieve/sieve-result.c b/src/lib-sieve/sieve-result.c
index 447ccee7de22b090dd200e2b477db9acee55ea3b..35849139493b289e537af8508f08bb49d9d51486 100644
--- a/src/lib-sieve/sieve-result.c
+++ b/src/lib-sieve/sieve-result.c
@@ -1676,9 +1676,6 @@ sieve_result_implicit_keep_finalize(struct sieve_result_execution *rexec)
 		return rexec->keep_status;
 	}
 
-	e_debug(rexec->event, "Finalize implicit keep (status=%s)",
-		sieve_execution_exitcode_to_str(rexec->status));
-
 	rexec->keep_finalizing = TRUE;
 
 	/* Start keep if necessary */
@@ -1703,6 +1700,9 @@ sieve_result_implicit_keep_finalize(struct sieve_result_execution *rexec)
 	if (act_keep->def == NULL)
 		return rexec->keep_status;
 
+	e_debug(rexec->event, "Finalize implicit keep (status=%s)",
+		sieve_execution_exitcode_to_str(rexec->status));
+
 	i_assert(aexec_keep->state == SIEVE_ACTION_EXECUTION_STATE_EXECUTED);
 
 	/* Finalize keep action */