Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -rf5d4fecd7b937ddf8e8b4ef3372541e79c7a44fc -r14be630db3ca775cc0e76669b585f62f00ae518e --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision f5d4fecd7b937ddf8e8b4ef3372541e79c7a44fc) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 14be630db3ca775cc0e76669b585f62f00ae518e) @@ -30,6 +30,7 @@ #include "ModeStandby.h" #include "ModeTreatment.h" #include "ModeTreatmentParams.h" +#include "NVDataMgmt.h" #include "OperationModes.h" #include "RTC.h" #include "Switches.h" @@ -453,10 +454,16 @@ { if ( TRUE == isDGCommunicating() ) { - setRequestedCleaningMode( DG_MODE_CHEM ); - result = TRUE; - currentStandbyState = STANDBY_WAIT_FOR_DISINFECT_STATE; - rejReason = REQUEST_REJECT_REASON_NONE; + // Assume chemical disinfect is not enabled in institutional record unless otherwise has been specified. + rejReason = REQUEST_REJECT_REASON_CHEM_DISINFECT_NOT_ENABLED_INST_CONFIG; + + if ( TRUE == isChemDisinfectEnabledInInstitRecord() ) + { + setRequestedCleaningMode( DG_MODE_CHEM ); + result = TRUE; + currentStandbyState = STANDBY_WAIT_FOR_DISINFECT_STATE; + rejReason = REQUEST_REJECT_REASON_NONE; + } } else {