diff --git a/src/managesieve/cmd-getscript.c b/src/managesieve/cmd-getscript.c
index 2f0a5f9dc7b47eae6e6cc5ee13f71abdacb1798b..f75e9d19124612801932bdf1256c2bf329a52f97 100644
--- a/src/managesieve/cmd-getscript.c
+++ b/src/managesieve/cmd-getscript.c
@@ -48,7 +48,8 @@ static bool cmd_getscript_finish(struct cmd_getscript_context *ctx)
 	client->get_bytes += ctx->script_size;
 
 	struct event_passthrough *e =
-		client_command_create_finish_event(cmd);
+		client_command_create_finish_event(cmd)->
+		add_int("script_size", ctx->script_size);
 	e_debug(e->event(), "Retrieved script `%s'", ctx->scriptname);
 
 	client_send_line(client, "");
diff --git a/src/managesieve/cmd-putscript.c b/src/managesieve/cmd-putscript.c
index 1998cd9986b843b77545443ac4d672560cea3301..9336f0498e39281cd26bb65980fb6eb9049c5971 100644
--- a/src/managesieve/cmd-putscript.c
+++ b/src/managesieve/cmd-putscript.c
@@ -257,6 +257,7 @@ cmd_putscript_finish_script(struct cmd_putscript_context *ctx,
 
 		struct event_passthrough *e =
 			client_command_create_finish_event(cmd)->
+			add_int("script_size", ctx->script_size)->
 			add_int("compile_warnings",
 				sieve_get_warnings(ehandler));
 		if (ctx->scriptname != NULL) {