diff --git a/src/lib-sieve/edit-mail.c b/src/lib-sieve/edit-mail.c
index e14583a7eb724482ddafff63e6debb3c87359009..0cbaaf0d2a5b47dfbb9d403d7a6bab1f899c9248 100644
--- a/src/lib-sieve/edit-mail.c
+++ b/src/lib-sieve/edit-mail.c
@@ -659,9 +659,11 @@ static int edit_mail_headers_parse
 	/* Insert header field index items in main list */
 	if ( head != NULL && tail != NULL ) {
 		if ( edmail->header_fields_appended != NULL ) {
-			if ( edmail->header_fields_appended->prev != NULL ) {
+			if ( edmail->header_fields_head != edmail->header_fields_appended ) {
 				edmail->header_fields_appended->prev->next = head;
 				head->prev = edmail->header_fields_appended->prev;
+			} else {
+				edmail->header_fields_head = head;
 			}
 
 			tail->next = edmail->header_fields_appended;