Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r29b65975bb4d6a5720ef39119a9af49fafc902fa -rd6455537609ee942efdfd776753214f1a7be334c --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 29b65975bb4d6a5720ef39119a9af49fafc902fa) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision d6455537609ee942efdfd776753214f1a7be334c) @@ -266,8 +266,12 @@ // Direction change while pump is running is not allowed if ( ( FALSE == isDialOutPumpOn ) || ( 0 == flowRate ) || ( dir == dialOutPumpDirectionSet ) ) { - F32 pwmDC = ( 0 == flowRate ? DOP_PWM_ZERO_OFFSET : DOP_PWM_FROM_ML_PER_MIN( (F32)flowRate ) ); + F32 pwmDC = getDialInPumpPWMDutyCyclePct( TRUE ); + if ( mode != PUMP_CONTROL_MODE_CLOSED_LOOP ) + { + pwmDC = ( 0 == flowRate ? DOP_PWM_ZERO_OFFSET : DOP_PWM_FROM_ML_PER_MIN( (F32)flowRate ) ); + } // Don't interrupt pump control unless rate or mode is changing if ( ( fabs( pwmDC - dialOutPumpPWMDutyCyclePct ) > NEARLY_ZERO ) || ( mode != dialOutPumpControlMode ) ) {