diff --git a/src/lib-sieve/sieve-error.c b/src/lib-sieve/sieve-error.c
index cecbdec5caa59a8436dfdece7d66ea7c14855148..3c40687433782f6582a7695a79caad45b36e686c 100644
--- a/src/lib-sieve/sieve-error.c
+++ b/src/lib-sieve/sieve-error.c
@@ -60,7 +60,7 @@ sieve_error_script_location(const struct sieve_script *script,
 
 void sieve_errors_init(struct sieve_instance *svinst)
 {
-	svinst->system_ehandler = sieve_master_ehandler_create(svinst, NULL, 0);
+	svinst->system_ehandler = sieve_master_ehandler_create(svinst, 0);
 }
 
 void sieve_errors_deinit(struct sieve_instance *svinst)
@@ -580,22 +580,14 @@ void sieve_error_handler_reset(struct sieve_error_handler *ehandler)
  * - Output errors directly to Dovecot master log
  */
 
-struct sieve_master_ehandler {
-	struct sieve_error_handler handler;
-
-	const char *prefix;
-};
-
 typedef void (*master_log_func_t)(const char *fmt, ...) ATTR_FORMAT(1, 2);
 
 static void ATTR_FORMAT(4, 0)
-sieve_master_logv(struct sieve_error_handler *_ehandler,
+sieve_master_logv(struct sieve_error_handler *ehandler ATTR_UNUSED,
 		  const struct sieve_error_params *params,
 		  enum sieve_error_flags flags ATTR_UNUSED,
 		  const char *fmt, va_list args)
 {
-	struct sieve_master_ehandler *ehandler =
-		(struct sieve_master_ehandler *) _ehandler;
 	master_log_func_t log_func;
 	string_t *str;
 
@@ -617,38 +609,30 @@ sieve_master_logv(struct sieve_error_handler *_ehandler,
 	}
 
 	str = t_str_new(256);
-	if (ehandler->prefix != NULL)
-		str_printfa(str, "%s: ", ehandler->prefix);
-
 	str_append(str, "sieve: ");
 
 	if (params->location != NULL && *params->location != '\0')
 		str_printfa(str, "%s: ", params->location);
-
 	str_vprintfa(str, fmt, args);
 
 	log_func("%s", str_c(str));
 }
 
 struct sieve_error_handler *
-sieve_master_ehandler_create(struct sieve_instance *svinst, const char *prefix,
+sieve_master_ehandler_create(struct sieve_instance *svinst,
 			     unsigned int max_errors)
 {
+	struct sieve_error_handler *ehandler;
 	pool_t pool;
-	struct sieve_master_ehandler *ehandler;
 
 	pool = pool_alloconly_create("master_error_handler", 256);
-	ehandler = p_new(pool, struct sieve_master_ehandler, 1);
-	sieve_error_handler_init(&ehandler->handler, svinst, pool, max_errors);
-
-	ehandler->handler.logv = sieve_master_logv;
-
-	if (prefix != NULL)
-		ehandler->prefix = p_strdup(pool, prefix);
+	ehandler = p_new(pool, struct sieve_error_handler, 1);
+	sieve_error_handler_init(ehandler, svinst, pool, max_errors);
+	ehandler->log_debug = svinst->debug;
 
-	ehandler->handler.log_debug = svinst->debug;
+	ehandler->logv = sieve_master_logv;
 
-	return &ehandler->handler;
+	return ehandler;
 }
 
 /*
diff --git a/src/lib-sieve/sieve-error.h b/src/lib-sieve/sieve-error.h
index 564b704406952f711ea229d69dc2b64de865cb3e..f27988fb66ac5971888d45359e2bb4a9a665a0b1 100644
--- a/src/lib-sieve/sieve-error.h
+++ b/src/lib-sieve/sieve-error.h
@@ -188,7 +188,7 @@ void sieve_error_handler_reset(struct sieve_error_handler *ehandler);
 
 /* Write errors to dovecot master log */
 struct sieve_error_handler *
-sieve_master_ehandler_create(struct sieve_instance *svinst, const char *prefix,
+sieve_master_ehandler_create(struct sieve_instance *svinst,
 			     unsigned int max_errors);
 
 /* Write errors to stderr */
diff --git a/src/plugins/doveadm-sieve/doveadm-sieve-cmd-activate.c b/src/plugins/doveadm-sieve/doveadm-sieve-cmd-activate.c
index c5cb0b44c14fde167edc6f66e66b46d2f3a0eed4..f392478f5cae0534dad9d6b8889a6fa16e3cfcb6 100644
--- a/src/plugins/doveadm-sieve/doveadm-sieve-cmd-activate.c
+++ b/src/plugins/doveadm-sieve/doveadm-sieve-cmd-activate.c
@@ -46,7 +46,7 @@ cmd_sieve_activate_run(struct doveadm_sieve_cmd_context *_ctx)
 		enum sieve_error error;
 
 		/* Compile */
-		ehandler = sieve_master_ehandler_create(ctx->ctx.svinst, NULL, 0);
+		ehandler = sieve_master_ehandler_create(ctx->ctx.svinst, 0);
 		if ( (sbin=sieve_compile_script
 			(script, ehandler, cpflags, &error)) == NULL ) {
 			doveadm_sieve_cmd_failed_error(_ctx, error);
diff --git a/src/plugins/doveadm-sieve/doveadm-sieve-cmd-put.c b/src/plugins/doveadm-sieve/doveadm-sieve-cmd-put.c
index dec89e8247c26947acb23f83c87d7631e1bafbb2..ef9472d6199b650553f2e2557ad6b0fc09e0d12b 100644
--- a/src/plugins/doveadm-sieve/doveadm-sieve-cmd-put.c
+++ b/src/plugins/doveadm-sieve/doveadm-sieve-cmd-put.c
@@ -89,7 +89,7 @@ static int cmd_sieve_put_run
 				cpflags |= SIEVE_COMPILE_FLAG_ACTIVATED;
 
 			/* Compile */
-			ehandler = sieve_master_ehandler_create(ctx->ctx.svinst, NULL, 0);
+			ehandler = sieve_master_ehandler_create(ctx->ctx.svinst, 0);
 			if ( (sbin=sieve_compile_script
 				(script, ehandler, cpflags, &error)) == NULL ) {
 				doveadm_sieve_cmd_failed_error(_ctx, error);
diff --git a/src/plugins/imap-filter-sieve/imap-filter-sieve.c b/src/plugins/imap-filter-sieve/imap-filter-sieve.c
index 362c7dcc7afbc887380320124a345e73cf6d36e0..6723bb4e6133a3dae9208c1ba3f4ce335f29fcc2 100644
--- a/src/plugins/imap-filter-sieve/imap-filter-sieve.c
+++ b/src/plugins/imap-filter-sieve/imap-filter-sieve.c
@@ -100,7 +100,7 @@ imap_filter_sieve_get_svinst(struct imap_filter_sieve_context *sctx)
 				     ifsuser, debug);
 
 	ifsuser->master_ehandler =
-		sieve_master_ehandler_create(ifsuser->svinst, NULL, 0); // FIXME: prefix?
+		sieve_master_ehandler_create(ifsuser->svinst, 0);
 	sieve_system_ehandler_set(ifsuser->master_ehandler);
 	sieve_error_handler_accept_infolog(ifsuser->master_ehandler, TRUE);
 	sieve_error_handler_accept_debuglog(ifsuser->master_ehandler, debug);
diff --git a/src/plugins/imapsieve/imap-sieve.c b/src/plugins/imapsieve/imap-sieve.c
index 1aea02896fdaab9b88a90819d2f08633099c921e..663e24a218cf6613b4482be9c9ecca8598146352 100644
--- a/src/plugins/imapsieve/imap-sieve.c
+++ b/src/plugins/imapsieve/imap-sieve.c
@@ -98,7 +98,7 @@ struct imap_sieve *imap_sieve_init(struct client *client)
 		isieve->svinst, &vnd_imapsieve_extension, TRUE);
 
 	isieve->master_ehandler =
-		sieve_master_ehandler_create(isieve->svinst, NULL, 0); // FIXME: prefix?
+		sieve_master_ehandler_create(isieve->svinst, 0);
 	sieve_system_ehandler_set(isieve->master_ehandler);
 	sieve_error_handler_accept_infolog(isieve->master_ehandler, TRUE);
 	sieve_error_handler_accept_debuglog(isieve->master_ehandler, debug);
diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c
index 151b94a2fbb7c8e7d5445e148b1a4477d670a293..3785812a12525a499ed88041ade06d400d7ceaa8 100644
--- a/src/plugins/lda-sieve/lda-sieve-plugin.c
+++ b/src/plugins/lda-sieve/lda-sieve-plugin.c
@@ -966,8 +966,7 @@ lda_sieve_deliver_mail(struct mail_deliver_context *mdctx,
 
 	/* Initialize master error handler */
 
-	srctx.master_ehandler =
-		sieve_master_ehandler_create(srctx.svinst, NULL, 0);
+	srctx.master_ehandler = sieve_master_ehandler_create(srctx.svinst, 0);
 	sieve_system_ehandler_set(srctx.master_ehandler);
 
 	sieve_error_handler_accept_infolog(srctx.master_ehandler, TRUE);