Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -ra99ba4c383d65b09a1681d1b7f74be94b3359412 -r5454f27c656e54b9f70e9daa2c2ff1b4ae2d7437 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision a99ba4c383d65b09a1681d1b7f74be94b3359412) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 5454f27c656e54b9f70e9daa2c2ff1b4ae2d7437) @@ -1080,7 +1080,8 @@ presMaxUFVolumeML = getTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME ) * (F32)ML_PER_LITER; // New UF rate is how much UF is left to be done / remaining treatment time - F32 newUFDiffML = ( ( presMaxUFVolumeML - getTotalMeasuredUFVolumeInMl() ) < 0.0F ? 0.0F : ( presMaxUFVolumeML - getTotalMeasuredUFVolumeInMl() ) ); + F32 measUFVolML = getTotalMeasuredUFVolumeInMl(); + F32 newUFDiffML = ( ( presMaxUFVolumeML - measUFVolML ) < 0.0F ? 0.0F : ( presMaxUFVolumeML - measUFVolML ) ); F32 newTxTimeS = (F32)treatmentTime * (F32)SEC_PER_MIN; F32 elapsedTxTimeS = (F32)treatmentTimeMS / (F32)MS_PER_SECOND; F32 timeDiffMin = (newTxTimeS - elapsedTxTimeS) / (F32)SEC_PER_MIN;