diff --git a/poincare/src/unit.cpp b/poincare/src/unit.cpp index 48bbcd186..35bc19e70 100644 --- a/poincare/src/unit.cpp +++ b/poincare/src/unit.cpp @@ -834,7 +834,7 @@ Expression Unit::ConvertTemperatureUnits(Expression e, Unit unit, ExpressionNode Expression startUnit; e = e.removeUnit(&startUnit); - if (startUnit.type() != ExpressionNode::Type::Unit) { + if (startUnit.isUninitialized() || startUnit.type() != ExpressionNode::Type::Unit) { return Undefined::Builder(); } const Representative * startRepr = static_cast(startUnit).representative(); diff --git a/poincare/test/simplification.cpp b/poincare/test/simplification.cpp index e0ce6ebbe..173f01643 100644 --- a/poincare/test/simplification.cpp +++ b/poincare/test/simplification.cpp @@ -1267,6 +1267,7 @@ QUIZ_CASE(poincare_simplification_unit_convert) { assert_parsed_expression_simplify_to("1→3_m", Undefined::Name()); assert_parsed_expression_simplify_to("4→_km/_m", Undefined::Name()); assert_parsed_expression_simplify_to("3×_min→_s+1-1", Undefined::Name()); + assert_parsed_expression_simplify_to("0→_K", Undefined::Name()); assert_parsed_expression_simplify_to("0_K→_°C", "-273.15×_°C"); assert_parsed_expression_simplify_to("0_°C→_K", "273.15×_K");