diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c
index 240edb24ff8c2a62c73c71b6d8aa12fc96f9cd45..f097a38e2e6e16ed23facfc161479a4f43b94591 100644
--- a/src/lib-sieve/sieve-message.c
+++ b/src/lib-sieve/sieve-message.c
@@ -1280,7 +1280,7 @@ static int sieve_message_parts_add_missing
 
 			if ( strcasecmp(hdr->name, "Content-Type" ) == 0 )
 				hdr_field = _HDR_CONTENT_TYPE;
-			else if ( strcasecmp(hdr->name, "Content-Disposition" ) != 0 )
+			else if ( strcasecmp(hdr->name, "Content-Disposition" ) == 0 )
 				hdr_field = _HDR_CONTENT_DISPOSITION;
 			else if ( iter_all && !array_is_created(&body_part->headers) )
 				hdr_field = _HDR_OTHER;