Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r934a19c673175bc12c5634326f4f1af821c1916c -r30b1f6126c37f7b99cf699f63b4bcee9d1a1745f --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 934a19c673175bc12c5634326f4f1af821c1916c) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 30b1f6126c37f7b99cf699f63b4bcee9d1a1745f) @@ -284,17 +284,29 @@ case NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE: result = execPresOcclTest(); - currentNoCartSelfTestsState = NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE; + + if ( SELF_TEST_STATUS_PASSED == result ) + { + currentNoCartSelfTestsState = NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE; + } break; case NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE: result = execBloodFlowTest(); - currentNoCartSelfTestsState = NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE; + + if ( SELF_TEST_STATUS_PASSED == result ) + { + currentNoCartSelfTestsState = NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE; + } break; case NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE: result = execDialInFlowTest(); - currentNoCartSelfTestsState = NO_CART_SELF_TESTS_PUMPS_STATE; + + if ( SELF_TEST_STATUS_PASSED == result ) + { + currentNoCartSelfTestsState = NO_CART_SELF_TESTS_PUMPS_STATE; + } break; case NO_CART_SELF_TESTS_PUMPS_STATE: