At line 492 in xtag-mmp.tex: \def\pMULTISCRIPTmmlPRE#1#2#3#4% {\ifdone \ifodd\scratchcounter ^{\naturalxmlr{#1}{#2}{#3}{#4}}{}% \else _{\naturalxmlr{#1}{#2}{#3}{#4}}% \fi \else \doif{mprescripts/}{#1}{\donetrue{}}% weak, the / here \fi \ifdone \advance\scratchcounter 1 \fi} I think the super/sub scripts are the wrong way around; suggest swapping fourth and sixth lines: \def\pMULTISCRIPTmmlPRE#1#2#3#4% {\ifdone \ifodd\scratchcounter _{\naturalxmlr{#1}{#2}{#3}{#4}}% \else ^{\naturalxmlr{#1}{#2}{#3}{#4}}{}% \fi \else \doif{mprescripts/}{#1}{\donetrue{}}% weak, the / here \fi \ifdone \advance\scratchcounter 1 \fi} According to the MathML spec http://www.w3.org/TR/2003/REC-MathML2-20031021/chapter3.html#presm.mmultiscr... the syntax is <mmultiscripts> base (subscript superscript)* [ <mprescripts/> (presubscript presuperscript)* ] </mmultiscripts> Thanks from the strange world of presentational MathML, Duncan