diff --git a/src/lib-sieve/plugins/copy/ext-copy.c b/src/lib-sieve/plugins/copy/ext-copy.c
index a0a5494024a1d32ff180f0eb60c819a25c3a0be9..1960f7ced348a186505c0a45eff409aa751b5884 100644
--- a/src/lib-sieve/plugins/copy/ext-copy.c
+++ b/src/lib-sieve/plugins/copy/ext-copy.c
@@ -24,6 +24,7 @@
 
 static bool ext_copy_load(int ext_id);
 static bool ext_copy_validator_load(struct sieve_validator *validator);
+static bool ext_copy_binary_load(struct sieve_binary *sbin);
 
 /* Extension definitions */
 
@@ -33,7 +34,9 @@ const struct sieve_extension copy_extension = {
 	"copy", 
 	ext_copy_load,
 	ext_copy_validator_load, 
-	NULL, NULL, NULL, 
+	NULL, 
+	ext_copy_binary_load, 
+	NULL, 
 	SIEVE_EXT_DEFINE_NO_OPCODES,
 	NULL
 };
@@ -116,3 +119,11 @@ static bool ext_copy_validator_load(struct sieve_validator *validator)
 	return TRUE;
 }
 
+static bool ext_copy_binary_load(struct sieve_binary *sbin)
+{
+	sieve_side_effect_extension_set(sbin, ext_my_id, &ext_copy_side_effect);
+
+	return TRUE;
+}
+
+