diff --git a/src/lib-sieve/sieve-code.c b/src/lib-sieve/sieve-code.c
index 5714624f602acae6f8ae54279bc4479c25cd751a..ce8b8571c7c96406a6e98f2c94870784a43a343a 100644
--- a/src/lib-sieve/sieve-code.c
+++ b/src/lib-sieve/sieve-code.c
@@ -656,6 +656,7 @@ extern const struct sieve_opcode tst_size_over_opcode;
 extern const struct sieve_opcode tst_size_under_opcode;
 
 const struct sieve_opcode *sieve_opcodes[] = {
+	NULL, 
 	&sieve_jmp_opcode,
 	&sieve_jmptrue_opcode, 
 	&sieve_jmpfalse_opcode,
diff --git a/src/lib-sieve/sieve-code.h b/src/lib-sieve/sieve-code.h
index fd9f6e8035c99135f8c4a9e71298bebec4f75f0e..b5757588e873c39cb7fe5578934f9a34a244035f 100644
--- a/src/lib-sieve/sieve-code.h
+++ b/src/lib-sieve/sieve-code.h
@@ -104,6 +104,7 @@ struct sieve_coded_stringlist *sieve_opr_stringlist_read
 /* Opcode: identifies what's to be done */
 
 enum sieve_operation_code {
+	SIEVE_OPCODE_INVALID,
 	SIEVE_OPCODE_JMP,
 	SIEVE_OPCODE_JMPTRUE,
 	SIEVE_OPCODE_JMPFALSE,