diff --git a/src/lib-sieve/util/edit-mail.c b/src/lib-sieve/util/edit-mail.c
index c001090ce5a5a38dbfa322ede19590d59ef9ea91..e5c525c9df328f99d1354f4457f1bf92ba212ffd 100644
--- a/src/lib-sieve/util/edit-mail.c
+++ b/src/lib-sieve/util/edit-mail.c
@@ -767,6 +767,9 @@ static int edit_mail_headers_parse(struct edit_mail *edmail)
 			if (hdr == NULL || hdr->eoh)
 				break;
 
+			/* Skip bad headers */
+			if (hdr->name_len == 0)
+				continue;
 			/* We deny the existence of any `Content-Length:'
 			   header. This header is non-standard and it can wreak
 			   havok when the message is modified.