Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -r9c3c817b09c3c7e0d9b23a397493f6fc16ca5d62 -r992975fb3cd56ddd7567b5e27f8bebd9b9948e9d --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 9c3c817b09c3c7e0d9b23a397493f6fc16ca5d62) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 992975fb3cd56ddd7567b5e27f8bebd9b9948e9d) @@ -113,12 +113,17 @@ { DG_RESERVOIR_ID_T inactiveReservoir = getInactiveReservoir(); - if ( getTestConfigStatus( TEST_CONFIG_RECOVER_TREATMENT) != TRUE ) + if ( ( getTestConfigStatus( TEST_CONFIG_RECOVER_TREATMENT ) != TRUE ) || ( getPreviousOperationMode() != DG_MODE_FAUL ) ) { // re-initialize each time we transition to drain mode initDrainMode(); initDrainParameters( inactiveReservoir ); } + else + { + setValveState( VPI, VALVE_STATE_OPEN ); + setValveState( VPD, VALVE_STATE_OPEN_C_TO_NC ); + } setCurrentSubState( NO_SUB_STATE );