diff --git a/poincare/src/expression.cpp b/poincare/src/expression.cpp index 34c97d5c9..22e30cfcd 100644 --- a/poincare/src/expression.cpp +++ b/poincare/src/expression.cpp @@ -257,7 +257,10 @@ bool Expression::getLinearCoefficients(char * variables, Expression * coefficien index++; } *constant = new Opposite(equation, false); - // xy = 0? + Reduce(constant, context); + /* The expression can be linear on all coefficients taken one by one but + * non-linear (ex: xy = 2). We delete the results and return false if one of + * the coefficients contains a variable. */ bool isMultivariablePolynomial = (*constant)->recursivelyMatches(dependsOnVariables, context); for (int i = 0; i < index; i++) { if (isMultivariablePolynomial) {