diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c
index 3f1dfc5..a1d83b1 100644
--- a/firmware/lib/vboot_api_kernel.c
+++ b/firmware/lib/vboot_api_kernel.c
@@ -609,18 +609,6 @@
 		}
 
 		VBDEBUG(("VbEcSoftwareSync() in RO-Normal; EC-RO\n"));
-
-		/*
-		 * If shutdown is requested, just power the AP back off.  This
-		 * covers the case where the lid is closed when then system
-		 * boots.
-		 */
-		if (VbExIsShutdownRequested()) {
-			VBDEBUG(("VbEcSoftwareSync() "
-				 "sees shutdown-requested\n"));
-			return VBERROR_SHUTDOWN_REQUESTED;
-		}
-
 		return VBERROR_SUCCESS;
 	}
 
@@ -745,18 +733,6 @@
 		}
 
 		VBDEBUG(("VbEcSoftwareSync() in EC-RW and it matches\n"));
-
-		/*
-		 * If shutdown is requested, just power the AP back off.  This
-		 * covers the case where the lid is closed when then system
-		 * boots.
-		 */
-		if (VbExIsShutdownRequested()) {
-			VBDEBUG(("VbEcSoftwareSync() "
-				 "sees shutdown-requested\n"));
-			return VBERROR_SHUTDOWN_REQUESTED;
-		}
-
 		return VBERROR_SUCCESS;
 	}
 
@@ -814,16 +790,6 @@
 	}
 
 	VBDEBUG(("VbEcSoftwareSync() in RW; done\n"));
-
-	/*
-	 * If shutdown is requested, just power the AP back off.  This covers
-	 * the case where the lid is closed when then system boots.
-	 */
-	if (VbExIsShutdownRequested()) {
-		VBDEBUG(("VbEcSoftwareSync() sees shutdown-requested\n"));
-		return VBERROR_SHUTDOWN_REQUESTED;
-	}
-
 	return VBERROR_SUCCESS;
 }
 
diff --git a/tests/vboot_api_kernel3_tests.c b/tests/vboot_api_kernel3_tests.c
index 5b69845..d885125 100644
--- a/tests/vboot_api_kernel3_tests.c
+++ b/tests/vboot_api_kernel3_tests.c
@@ -245,10 +245,11 @@
 	test_ssync(VBERROR_SIMULATED,
 		   VBNV_RECOVERY_EC_PROTECT, "Protect error");
 
+	/* No longer check for shutdown requested */
 	ResetMocks();
 	shared->flags |= VBSD_LF_USE_RO_NORMAL;
 	shutdown_request_calls_left = 0;
-	test_ssync(VBERROR_SHUTDOWN_REQUESTED, 0, "AP-RO shutdown requested");
+	test_ssync(0, 0, "AP-RO shutdown requested");
 
 	/* Calculate hashes */
 	ResetMocks();
@@ -344,15 +345,16 @@
 	test_ssync(VBERROR_SIMULATED,
 		   VBNV_RECOVERY_EC_PROTECT, "Protect error");
 
+	/* No longer check for shutdown requested */
 	ResetMocks();
 	shutdown_request_calls_left = 0;
-	test_ssync(VBERROR_SHUTDOWN_REQUESTED, 0,
+	test_ssync(0, 0,
 		   "AP-RW, EC-RO -> EC-RW shutdown requested");
 
 	ResetMocks();
 	mock_in_rw = 1;
 	shutdown_request_calls_left = 0;
-	test_ssync(VBERROR_SHUTDOWN_REQUESTED, 0, "AP-RW shutdown requested");
+	test_ssync(0, 0, "AP-RW shutdown requested");
 }
 
 int main(void)
