diff --git a/examples/convert_code_to_doc.py b/examples/convert_code_to_doc.py
index 4223a8eade4fbf74aaa49c278d92c519f0808867..3d9247fa7d2b4f2dfc39a177f91fa62c2167d601 100755
--- a/examples/convert_code_to_doc.py
+++ b/examples/convert_code_to_doc.py
@@ -38,9 +38,6 @@ def cppRules():
     headerGuard = Suppress(Literal("#ifndef") + Optional(restOfLine) + LineEnd() + Literal("#define") + Optional(restOfLine))
     endHeaderGuard = Suppress(Literal("#endif") + Optional(restOfLine))
 
-    # exclude stuff between [[exclude]] and [[/exclude]]
-    exclude = parseTaggedContent("exclude", action=replaceWith(""))
-
     # make a code block (possibly containing comments) between [[codeblock]] and [[/codeblock]]
     action = createMarkdownCode("cpp")
     codeblock = parseTaggedContent("codeblock", action=action)
@@ -51,9 +48,14 @@ def cppRules():
     code.setParseAction(action)
     docTransforms = codeblock | doc | code
 
-    return [header, headerGuard, endHeaderGuard, exclude, docTransforms]
+    return [header, headerGuard, endHeaderGuard, docTransforms]
 
 def transformCode(code, rules):
+
+    # exclude stuff between [[exclude]] and [[/exclude]]
+    exclude = parseTaggedContent("exclude", action=replaceWith(""))
+    code = exclude.transformString(code)
+
     for transform in rules:
         code = transform.transformString(code)
     return code