diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c index 10d100a3b64c364f21efccb09c8e8607caa5ea18..95d0eb50a02b11cb32e36be1c44bc68e4e9e6c22 100644 --- a/src/lib-sieve/sieve-message.c +++ b/src/lib-sieve/sieve-message.c @@ -1205,12 +1205,12 @@ static int sieve_message_parts_add_missing struct sieve_message_part *child = parent->children; while (child->next != NULL && child != body_part) child = child->next; - if (child->next == NULL) + if (child != body_part) child->next = body_part; } } - last_part = body_part; } + last_part = body_part; /* If this is message/rfc822 content, retain the enveloping part for * storing headers as content.