diff --git a/modules/core/docs/authproc_attributealter.md b/modules/core/docs/authproc_attributealter.md
index a3c2e0cbea91969cad059a6f7d7c074ea1c093d3..53fe5744a3e09d925db579b5696fa27ba5518263 100644
--- a/modules/core/docs/authproc_attributealter.md
+++ b/modules/core/docs/authproc_attributealter.md
@@ -39,10 +39,10 @@ Parameters
     If no other values exist, the attribute will be removed completely.
     This parameter is OPTIONAL.
 
-`merge`
-:   A boolean indicating whether the altered values must be merged with the
-    target attribute values, or if the target attribute should be overwritten.
-    Defaults to `false`.
+`%merge`
+:   Indicates whether the altered values must be merged with the target attribute values. The default
+    behaviour is to overwrite the target attribute completely.
+    This parameter is OPTIONAL.
     
 Examples
 --------
diff --git a/modules/core/lib/Auth/Process/AttributeAlter.php b/modules/core/lib/Auth/Process/AttributeAlter.php
index b4ce883a0cb3f9351ad863b48f4fac7a64cce7ec..6b851d7a0796a22035460e9619ca0c175f0073d0 100644
--- a/modules/core/lib/Auth/Process/AttributeAlter.php
+++ b/modules/core/lib/Auth/Process/AttributeAlter.php
@@ -79,6 +79,8 @@ class AttributeAlter extends Auth\ProcessingFilter
                     $this->replace = true;
                 } elseif ($value === '%remove') {
                     $this->remove = true;
+                } elseif ($value === '%merge') {
+                    $this->merge = true;
                 } else {
                     throw new Error\Exception('Unknown flag : ' . var_export($value, true));
                 }
@@ -95,9 +97,6 @@ class AttributeAlter extends Auth\ProcessingFilter
             } elseif ($name === 'target') {
                 // Set target
                 $this->target = $value;
-            } elseif ($name === 'merge') {
-                // Set the  merging strategy
-                $this->merge = $value;
             }
         }
     }