diff --git a/src/buildHTML.js b/src/buildHTML.js
index 94eead23c..c3cc4e970 100644
--- a/src/buildHTML.js
+++ b/src/buildHTML.js
@@ -1157,6 +1157,10 @@ var buildGroup = function(group, options, prev) {
* nodes.
*/
var buildHTML = function(tree, settings) {
+ // buildExpression is destructive, so we need to make a clone
+ // of the incoming tree so that it isn't accidentally changed
+ tree = JSON.parse(JSON.stringify(tree));
+
var startStyle = Style.TEXT;
if (settings.displayMode) {
startStyle = Style.DISPLAY;