diff --git a/doc/manual/source/the-model-file.rst b/doc/manual/source/the-model-file.rst
index 1dd16c492445c0812a86c8f7a2eb69f1dd0259ad..48f5be41c42df9093d8907b99de580db2ded06fc 100644
--- a/doc/manual/source/the-model-file.rst
+++ b/doc/manual/source/the-model-file.rst
@@ -26,6 +26,38 @@ present. To prevent cryptic error messages, it is strongly recommended
 to always only put one statement/command into each line and start a
 new line after each semicolon. [#feol]_
 
+Lines of codes can be commented out line by line or as a block. Single-line
+comments begin with ``//`` and stop at the end of the line. Multiline comments
+are introduced by ``/*`` and terminated by ``*/``.
+
+*Examples*
+
+  ::
+
+    // This is a single line comment
+
+
+  ::
+
+     var x; // This is a comment about x
+
+
+  ::
+
+    /* This is another inline comment about alpha */  alpha = 0.3;
+
+  ::
+
+    /*
+     This comment is spanning
+     two lines.
+    */
+
+Note that these comment marks should not be used in native MATLAB code regions
+where the `%` should be preferred instead to introduce a comment. In a
+``verbatim`` block, see :ref:`verbatim`, this would result in a crash since
+``//`` is not a valid MATLAB statement).
+
 Most Dynare commands have arguments and several accept options,
 indicated in parentheses after the command keyword. Several options
 are separated by commas.
@@ -11347,13 +11379,15 @@ substitution (like the C preprocessor or the PHP language). Note that
 it is possible to see the output of the macro processor by using the
 ``savemacro`` option of the ``dynare`` command (see :ref:`dyn-invoc`).
 
-The macro processor is invoked by placing *macro directives* in the
-``.mod`` file. Directives begin with an at-sign followed by a pound
-sign (``@#``). They produce no output, but give instructions to the
-macro processor. In most cases, directives occupy exactly one line of
-text. If needed, two backslashes (``\\``) at the end of the line
-indicate that the directive is continued on the next line. The main
-directives are:
+The macro processor is invoked by placing *macro directives* in the ``.mod``
+file. Directives begin with an at-sign followed by a pound sign (``@#``). They
+produce no output, but give instructions to the macro processor. In most cases,
+directives occupy exactly one line of text. If needed, two backslashes (``\\``)
+at the end of the line indicate that the directive is continued on the next
+line. Macro directives following ``//`` are not interpreted by the macro
+processor. For historical reasons, directives in commented blocks, *ie*
+surrounded by ``/*`` and ``*/``, are interpreted by the macro processor. The
+user should not rely on this behavior. The main directives are:
 
     * ``@#includepath``, paths to search for files that are to be included,
     * ``@#include``, for file inclusion,
@@ -12083,6 +12117,7 @@ to run simulations for three values: :math:`\rho = 0.8, 0.9,
     of values is directly given in the loop construct. The inconvenience is that
     you can not reuse the macro array in MATLAB/Octave.
 
+.. _verbatim:
 
 Verbatim inclusion
 ==================