Index: firmware/App/Modes/ModeChemicalDisinfect.c =================================================================== diff -u -r3835a004a6ef4a31d740d2532a5aba1683fa9d5a -r3223b2c9784261205928b3ee21edd88df5be8a60 --- firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 3835a004a6ef4a31d740d2532a5aba1683fa9d5a) +++ firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 3223b2c9784261205928b3ee21edd88df5be8a60) @@ -1794,7 +1794,7 @@ } // Check the temperature and conductivity of the diluted disinfectant - if ( ( chemDisinfectState > DG_CHEM_DISINFECT_STATE_DISINFECTANT_FLUSH ) && ( chemDisinfectState <= DG_CHEM_DISINFECT_STATE_PARTIAL_DRAIN_R2_FILL_R1_TO_R2 ) ) + if ( ( chemDisinfectState >= DG_CHEM_DISINFECT_STATE_FILL_WITH_DISINFECTANT ) && ( chemDisinfectState <= DG_CHEM_DISINFECT_STATE_PARTIAL_DRAIN_R2_FILL_R1_TO_R2 ) ) { // Disinfect conditions check F32 TPoTemp = getTemperatureValue( TEMPSENSORS_OUTLET_PRIMARY_HEATER ); @@ -1804,6 +1804,12 @@ maxTemperatureOutOfRangeStartTimeMS = ( TRUE == isTPoOutofRange ? maxTemperatureOutOfRangeStartTimeMS : getMSTimerCount() ); maxCondOutOfRangeStartTimeMS = ( TRUE == isCD2OutofRange ? maxCondOutOfRangeStartTimeMS : getMSTimerCount() ); + if ( TRUE == getTestConfigStatus( TEST_CONFIG_MIX_WITH_WATER ) ) + { + // If the mix with water is enabled, keep reseting the time + maxCondOutOfRangeStartTimeMS = getMSTimerCount(); + } + if ( TRUE == didTimeout( maxTemperatureOutOfRangeStartTimeMS, DISINFECT_TEMP_OUT_OF_RANGE_TIMEOUT_MS ) ) { signalMaxTempOrMaxCondIsOutOfRange = TRUE;