diff --git a/poincare/src/expression.cpp b/poincare/src/expression.cpp index 0ea75c44a..6eb4cedac 100644 --- a/poincare/src/expression.cpp +++ b/poincare/src/expression.cpp @@ -223,10 +223,11 @@ void Expression::shallowAddMissingParenthesis() { Expression Expression::addMissingParentheses() { for (int i = 0; i < numberOfChildren(); i++) { - Expression child = childAtIndex(i); + Expression child = childAtIndex(i).addMissingParentheses(); if (node()->childNeedsUserParentheses(child)) { - replaceChildAtIndexInPlace(i, Parenthesis::Builder(child.addMissingParentheses())); + child = Parenthesis::Builder(child); } + replaceChildAtIndexInPlace(i, child); } return *this; }