diff --git a/manifests/init.pp b/manifests/init.pp
index 171ca4d55d581733e2a28e23d64243ee762dec70..f3096cf36ea1e69e6910cff70833330e68ef9ed6 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -63,7 +63,8 @@
 #
 # [*use_dovecot_lda*]     - (boolean) Whether to setup for Dovecot LDA
 #
-# [*use_schleuder*]       - (boolean) Whether to setup for Schleuder
+# [*use_schleuder*]       - (2/boolean) Whether to setup for Schleuder
+#                           (2 -> Schleuder 2, 3 or true -> Schleuder 3)
 #
 # [*use_sympa*]           - (boolean) Whether to setup for Sympa
 #
@@ -107,7 +108,7 @@ class postfix (
   String                          $smtp_listen         = '127.0.0.1',   # postfix_smtp_listen
   Boolean                         $use_amavisd         = false,         # postfix_use_amavisd
   Boolean                         $use_dovecot_lda     = false,         # postfix_use_dovecot_lda
-  Boolean                         $use_schleuder       = false,         # postfix_use_schleuder
+  Variant[Integer[2, 3], Boolean] $use_schleuder       = false,         # postfix_use_schleuder
   Boolean                         $use_sympa           = false,         # postfix_use_sympa
   String                          $postfix_ensure      = 'present',
   String                          $mailx_ensure        = 'present',
diff --git a/templates/master.cf.common.erb b/templates/master.cf.common.erb
index 2e363bb124487c0ae5ca70e80fdb8c067138afc0..ea8117e9ffa45f490c4ceb56631735c80f63dc0a 100644
--- a/templates/master.cf.common.erb
+++ b/templates/master.cf.common.erb
@@ -22,8 +22,13 @@ dovecot   unix  -       n       n       -       -       pipe
   flags=DRhu user=<%= @mail_user %>:<%= @mail_user %> argv=/usr/lib/dovecot/deliver -d ${recipient}
 <% end -%>
 <% if @use_schleuder %>
+<% if @use_schleuder == 2 %>
 schleuder  unix  -       n       n       -       -       pipe
   flags=DRhu user=schleuder argv=/usr/bin/schleuder ${user}
+<% else %>
+schleuder  unix  -       n       n       -       -       pipe
+  flags=DRhu user=schleuder argv=/usr/bin/schleuder work ${recipient}
+<% end -%>
 <% end -%>
 <% if @use_sympa %>
 sympa        unix  -       n       n       -       -       pipe