diff --git a/src/modules/simulator/simulator_mavlink.cpp b/src/modules/simulator/simulator_mavlink.cpp
index 79d9a8a67fad2a025b54fc7ca8b02685478c454e..55ad7c001aa0a505479d6319d4fe5580e1886ecb 100644
--- a/src/modules/simulator/simulator_mavlink.cpp
+++ b/src/modules/simulator/simulator_mavlink.cpp
@@ -332,8 +332,8 @@ void Simulator::handle_message(mavlink_message_t *msg, bool publish)
 				/* Simulate the voltage of a linearly draining battery but stop at the minimum percentage */
 				float battery_percentage = 1.0f - (now_us - batt_sim_start) / discharge_interval_us;
 
-				battery_percentage = math::min(battery_percentage, minimum_percentage);
-				float vbatt = math::gradual(battery_percentage, 0.f, 1.f, _battery.full_cell_voltage(), _battery.empty_cell_voltage());
+				battery_percentage = math::max(battery_percentage, minimum_percentage);
+				float vbatt = math::gradual(battery_percentage, 0.f, 1.f, _battery.empty_cell_voltage(), _battery.full_cell_voltage());
 				vbatt *= _battery.cell_count();
 
 				const float throttle = 0.0f; // simulate no throttle compensation to make the estimate predictable