diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c
index 67c739826edf6a2c48a67949a6e116ace2d7a328..9cfa4648a6f659e04f4bcec0114da39bf25de863 100644
--- a/src/lib-sieve/sieve-message.c
+++ b/src/lib-sieve/sieve-message.c
@@ -1345,6 +1345,7 @@ static int sieve_message_parts_add_missing
 				case _HDR_CONTENT_TYPE:
 					body_part->content_type =
 						p_strdup(pool, _parse_content_type(block.hdr));
+					break;
 				case _HDR_CONTENT_DISPOSITION:
 					body_part->content_disposition =
 						p_strdup(pool, _parse_content_disposition(block.hdr));