diff --git a/src/managesieve-login/managesieve-login-settings-plugin.c b/src/managesieve-login/managesieve-login-settings-plugin.c
index 8cff0d78cadf2fd81073dedeffc574ac1027b63b..9cf84e2e0004c5daf401aa93bbb83ca2e298c5b8 100644
--- a/src/managesieve-login/managesieve-login-settings-plugin.c
+++ b/src/managesieve-login/managesieve-login-settings-plugin.c
@@ -15,6 +15,7 @@
 #include <unistd.h>
 #include <sys/wait.h>
 #include <sysexits.h>
+#include <stdlib.h>
 
 typedef enum { CAP_SIEVE, CAP_NOTIFY } capability_type_t;
 
@@ -105,6 +106,9 @@ static bool capability_dump(void)
 	unsigned int pos;
 	pid_t pid;
 
+	if ( getenv("DUMP_CAPABILITY") != NULL )
+		return TRUE;
+
 	if ( pipe(fd) < 0 ) {
 		i_error("managesieve-login: dump-capability pipe() failed: %m");
 		return FALSE;
@@ -196,11 +200,9 @@ static void managesieve_login_config_parser_begin(struct config_parser_context *
 		}
 	}
 
-/*	Currently fails and makes doveconf go berserk 
-
 	if ( capability_sieve != NULL )
 		managesieve_login_config_set(ctx, "managesieve_sieve_capability", capability_sieve);
 
 	if ( capability_notify != NULL )
-		managesieve_login_config_set(ctx, "managesieve_notify_capability", capability_notify);*/
+		managesieve_login_config_set(ctx, "managesieve_notify_capability", capability_notify);
 }