Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -rb909022e776df298f2fdad4f944afae29ad2d396 -re87de1c84010d764abe71d38272ca34e2733a306 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision b909022e776df298f2fdad4f944afae29ad2d396) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision e87de1c84010d764abe71d38272ca34e2733a306) @@ -725,12 +725,12 @@ // If the inactive reservoir has changed from the last run or the target dialysate flow has changed, transition to ramp state to recalculate the // duty cycle for the next delivery - if ( ( heatersStatus[ heater ].inactiveRsrvr != getInactiveReservoir() ) || - ( fabs( heatersStatus[ heater ].prevDiaTargetFlowLPM - targetFlowLPM ) > NEARLY_ZERO ) ) + if ( heatersStatus[ heater ].inactiveRsrvr != getInactiveReservoir() ) { state = HEATER_EXEC_STATE_TRIMMER_RAMP_TO_TARGET; } - else if ( ++heatersStatus[ heater ].controlIntervalCounter > controlInterval ) + else if ( ( ++heatersStatus[ heater ].controlIntervalCounter > controlInterval ) || + ( fabs( heatersStatus[ heater ].prevDiaTargetFlowLPM - targetFlowLPM ) > NEARLY_ZERO ) ) { // Reset the control counter heatersStatus[ heater ].controlIntervalCounter = 0;