With a newline before the :suppress_grammar: directive, it wasn't actually interpreted as a directive, but rather as node content. Therefore, the directive was ignored and the grammar was incorrectly printed out.