diff --git a/apps/calculation/additional_outputs/unit_list_controller.cpp b/apps/calculation/additional_outputs/unit_list_controller.cpp index 41ac6d8f2..37fdcf776 100644 --- a/apps/calculation/additional_outputs/unit_list_controller.cpp +++ b/apps/calculation/additional_outputs/unit_list_controller.cpp @@ -24,7 +24,12 @@ bool UnitListController::handleEvent(Ion::Events::Event event) { if (selectedRow() == 0 && (event == Ion::Events::OK || event == Ion::Events::EXE)) { return true; } - return ListController::handleEvent(event); + + // HACK: Change the selected row (prevent some bugs when OK is pressed) + selectRow(selectedRow() - 1); + bool value = ListController::handleEvent(event); + selectRow(selectedRow() + 1); + return value; } void UnitListController::setExpression(Poincare::Expression e) {