diff --git a/unitex/processor.py b/unitex/processor.py
index 3a5b2df0bb7e93da4ae528e079ce5239865efa69..54d353a1103484c7758d6d2b8f68cdd626b7d23b 100644
--- a/unitex/processor.py
+++ b/unitex/processor.py
@@ -489,7 +489,11 @@ class UnitexProcessor(object):
         match_mode = kwargs.get("match_mode", UnitexConstants.MATCH_MODE_LONGEST)
         if match_mode not in (UnitexConstants.MATCH_MODE_LONGEST, UnitexConstants.MATCH_MODE_SHORTEST):
             raise UnitexException("Invalid match mode '%s'...")
-        output_mode = UnitexConstants.OUTPUT_MODE_MERGE
+        output_mode = kwargs.get("output_mode", UnitexConstants.OUTPUT_MODE_MERGE)
+        if output_mode not in (UnitexConstants.OUTPUT_MODE_IGNORE,
+                               UnitexConstants.OUTPUT_MODE_MERGE,
+                               UnitexConstants.OUTPUT_MODE_REPLACE):
+            raise UnitexException("Wrong value for the 'output_mode' option. UnitexConstants.OUTPUT_MODE_X required.")
 
         index = self._locate(grammar, match_mode, output_mode)