Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -r3c5b521fcaa489eef9df0e2d657c7e0b23dd8ece -r5a5eda0e64a8990f5adecae65c035bfaeb77d8dd --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision 3c5b521fcaa489eef9df0e2d657c7e0b23dd8ece) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 5a5eda0e64a8990f5adecae65c035bfaeb77d8dd) @@ -306,8 +306,16 @@ BOOL result = FALSE; if ( valve < NUM_OF_VALVES ) - { - valvesStatus[ valve ].hasHomingBeenRequested = TRUE; + { // If haven't already homed the valves, home the valves + if ( valvesStatus[ valve ].hasValveBeenHomed != TRUE ) + { + valvesStatus[ valve ].hasHomingBeenRequested = TRUE; + } + // Otherwise, go to position A (home position) + else + { + setValvePosition( valve, VALVE_POSITION_A_INSERT_EJECT ); + } result = TRUE; } else