Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r66c0967bb1b1912a5cf3a8e94ea3de726741f607 -ra99ba4c383d65b09a1681d1b7f74be94b3359412 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 66c0967bb1b1912a5cf3a8e94ea3de726741f607) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision a99ba4c383d65b09a1681d1b7f74be94b3359412) @@ -1095,7 +1095,8 @@ ( TRUE == getTestConfigStatus( TEST_CONFIG_ENABLE_ONE_MINUTE_TREATMENT ) ) ? TRUE : FALSE ); BOOL isTxTimeValid = ( ( TRUE == isMinTxTimeValid ) && ( treatmentTime <= getU32TreatmentParamUpperRangeLimit( TREATMENT_PARAM_TREATMENT_DURATION ) ) ? TRUE : FALSE ); - BOOL isUFRateValid = ( ( newUFRateMLPM >= MIN_UF_RATE_ML_MIN ) && ( newUFRateMLPM <= MAX_UF_RATE_ML_MIN ) ? TRUE : FALSE ); + // Only the upper range UF rate is checked here. Per the check above if the UF diff is < 0, it is set to zero so the minimum UF rate is 0 and cannot be negative + BOOL isUFRateValid = ( newUFRateMLPM <= MAX_UF_RATE_ML_MIN ? TRUE : FALSE ); if ( ( TRUE == isTxTimeValid ) && ( dialVolume <= MAX_DIALYSATE_VOLUME_ML ) && ( TRUE == isUFRateValid ) ) {