diff --git a/firmware/lib/ec_sync_all.c b/firmware/lib/ec_sync_all.c
index 6c3fe74..f981a52 100644
--- a/firmware/lib/ec_sync_all.c
+++ b/firmware/lib/ec_sync_all.c
@@ -44,7 +44,7 @@
 	struct vb2_shared_data *sd = vb2_get_sd(ctx);
 	VbSharedDataHeader *shared = sd->vbsd;
 	VbAuxFwUpdateSeverity_t fw_update;
-	VbError_t rv;
+	VbError_t rv, update_aux_fw_rv;
 
 	rv = ec_sync_check_aux_fw(ctx, &fw_update);
 	if (rv)
@@ -92,14 +92,19 @@
 	 * Aux FW update may request RO reboot to force EC cold reset so also
 	 * unload the option ROM if needed to prevent a second reboot.
 	 */
-	rv = ec_sync_update_aux_fw(ctx);
-	if (rv) {
-		ec_sync_unload_oprom(ctx, shared, need_wait_screen);
-		return rv;
-	}
+	update_aux_fw_rv = ec_sync_update_aux_fw(ctx);
 
-	/* Reboot to unload VGA Option ROM if needed */
+	/* Reboot to unload VGA Option ROM for both slow EC & AUX FW updates */
 	rv = ec_sync_unload_oprom(ctx, shared, need_wait_screen);
+	/* Something went wrong during AUX FW update */
+	if (update_aux_fw_rv)
+		return update_aux_fw_rv;
+	/*
+	 * AUX FW Update is applied successfully. Request EC reboot to RO,
+	 * so that the chips that had FW update gets reset to a clean state.
+	 */
+	if (fw_update > VB_AUX_FW_NO_UPDATE)
+		return VBERROR_EC_REBOOT_TO_RO_REQUIRED;
 	if (rv)
 		return rv;
 
diff --git a/tests/ec_sync_tests.c b/tests/ec_sync_tests.c
index a971b96..1cec7f2 100644
--- a/tests/ec_sync_tests.c
+++ b/tests/ec_sync_tests.c
@@ -427,7 +427,7 @@
 
 	ResetMocks();
 	ec_aux_fw_mock_severity = VB_AUX_FW_FAST_UPDATE;
-	test_ssync(VBERROR_SUCCESS, 0,
+	test_ssync(VBERROR_EC_REBOOT_TO_RO_REQUIRED, 0,
 		   "Fast auxiliary FW update needed");
 	TEST_EQ(screens_count, 0,
 		"  wait screen skipped");
@@ -436,7 +436,7 @@
 
 	ResetMocks();
 	ec_aux_fw_mock_severity = VB_AUX_FW_SLOW_UPDATE;
-	test_ssync(VBERROR_SUCCESS, 0,
+	test_ssync(VBERROR_EC_REBOOT_TO_RO_REQUIRED, 0,
 		   "Slow auxiliary FW update needed");
 	TEST_EQ(ec_aux_fw_update_req, 1, "  aux fw update requested");
 	TEST_EQ(ec_aux_fw_protected, 1, "  aux fw protected");
@@ -444,6 +444,7 @@
 		"  wait screen forced");
 
 	ResetMocks();
+	ec_aux_fw_mock_severity = VB_AUX_FW_FAST_UPDATE;
 	ec_aux_fw_retval = VBERROR_UNKNOWN;
 	test_ssync(VBERROR_UNKNOWN, VB2_RECOVERY_AUX_FW_UPDATE,
 		   "Error updating AUX firmware");
