diff --git a/src/lib-sieve/plugins/regex/ext-regex-common.h b/src/lib-sieve/plugins/regex/ext-regex-common.h
index 9a0452ecf92dce8c11f6b27d166b925b3feeb763..42462a7aa525f67b7280e721fcb44af263dcdef5 100644
--- a/src/lib-sieve/plugins/regex/ext-regex-common.h
+++ b/src/lib-sieve/plugins/regex/ext-regex-common.h
@@ -8,13 +8,13 @@
  * Extension
  */
 
-const struct sieve_extension regex_extension;
+extern const struct sieve_extension regex_extension;
 
 /*
  * Operand
  */
 
-const struct sieve_operand regex_match_type_operand;
+extern const struct sieve_operand regex_match_type_operand;
 
 /*
  * Match type
diff --git a/src/lib-sieve/plugins/relational/ext-relational-common.h b/src/lib-sieve/plugins/relational/ext-relational-common.h
index debd5428ed9f1c1c01fa313a7949ff70638c8b00..595726a41db2f531cbf89dd626fc6c97eecd956f 100644
--- a/src/lib-sieve/plugins/relational/ext-relational-common.h
+++ b/src/lib-sieve/plugins/relational/ext-relational-common.h
@@ -39,7 +39,7 @@ enum relational_match {
  * Extension definitions 
  */
 
-int ext_relational_my_id;
+extern int ext_relational_my_id;
 
 extern const struct sieve_extension relational_extension;
 extern const struct sieve_match_type_extension relational_match_extension;
diff --git a/src/lib-sieve/sieve-address-parts.c b/src/lib-sieve/sieve-address-parts.c
index 9308c18965133bbd9f25a182679c2cced7d00e4d..24754b05efb263640a1cd77df67c5bc56d1cc6fd 100644
--- a/src/lib-sieve/sieve-address-parts.c
+++ b/src/lib-sieve/sieve-address-parts.c
@@ -187,7 +187,7 @@ static bool tag_address_part_generate
  * Address-part operand
  */
  
-struct sieve_operand_class sieve_address_part_operand_class = 
+const struct sieve_operand_class sieve_address_part_operand_class = 
 	{ "address part" };
 
 static const struct sieve_extension_objects core_address_parts =
diff --git a/src/lib-sieve/sieve-address-parts.h b/src/lib-sieve/sieve-address-parts.h
index 84540c8533aa38fa077ddd6aea7cc972bd30e2de..ff340e437014a9f0023cffae7b1dc515bcde5f0c 100644
--- a/src/lib-sieve/sieve-address-parts.h
+++ b/src/lib-sieve/sieve-address-parts.h
@@ -64,8 +64,8 @@ const struct sieve_address_part *sieve_address_part_find
  * Address part operand
  */
 
-const struct sieve_operand address_part_operand;
-struct sieve_operand_class sieve_address_part_operand_class;
+extern const struct sieve_operand address_part_operand;
+extern const struct sieve_operand_class sieve_address_part_operand_class;
 
 #define SIEVE_EXT_DEFINE_ADDRESS_PART(OP) SIEVE_EXT_DEFINE_OBJECT(OP)
 #define SIEVE_EXT_DEFINE_ADDRESS_PARTS(OPS) SIEVE_EXT_DEFINE_OBJECTS(OPS)
diff --git a/src/lib-sieve/sieve-code.h b/src/lib-sieve/sieve-code.h
index cfad35b06ff1dff36f25888629e9bce05f9889a5..db38e7d90b75169138d359b49197701c3cf0fd36 100644
--- a/src/lib-sieve/sieve-code.h
+++ b/src/lib-sieve/sieve-code.h
@@ -93,9 +93,9 @@ enum sieve_core_operand {
 
 /* Operand classes */
 
-const struct sieve_operand_class number_class;
-const struct sieve_operand_class string_class;
-const struct sieve_operand_class stringlist_class;
+extern const struct sieve_operand_class number_class;
+extern const struct sieve_operand_class string_class;
+extern const struct sieve_operand_class stringlist_class;
 
 /* Operand objects */
 
diff --git a/src/lib-sieve/sieve-match-types.c b/src/lib-sieve/sieve-match-types.c
index 6a5b33962014efca8795b59e12d962b8a57b6edc..f07dd10a99a2fa808dfccea63dc6bde2da8068e9 100644
--- a/src/lib-sieve/sieve-match-types.c
+++ b/src/lib-sieve/sieve-match-types.c
@@ -473,7 +473,7 @@ bool sieve_match_type_validate
  * Match-type operand
  */
  
-struct sieve_operand_class sieve_match_type_operand_class = 
+const struct sieve_operand_class sieve_match_type_operand_class = 
 	{ "match type" };
 	
 static const struct sieve_extension_objects core_match_types =
diff --git a/src/lib-sieve/sieve-match-types.h b/src/lib-sieve/sieve-match-types.h
index ba073443d45e16ede15228cd0194a135f7077224..aa7c5192387abd2f7438eb5a8a41b80b88d074b7 100644
--- a/src/lib-sieve/sieve-match-types.h
+++ b/src/lib-sieve/sieve-match-types.h
@@ -158,8 +158,8 @@ bool sieve_match_type_validate
  * Match type operand
  */
  
-const struct sieve_operand match_type_operand;
-struct sieve_operand_class sieve_match_type_operand_class;
+extern const struct sieve_operand match_type_operand;
+extern const struct sieve_operand_class sieve_match_type_operand_class;
 
 #define SIEVE_EXT_DEFINE_MATCH_TYPE(OP) SIEVE_EXT_DEFINE_OBJECT(OP)
 #define SIEVE_EXT_DEFINE_MATCH_TYPES(OPS) SIEVE_EXT_DEFINE_OBJECTS(OPS)