diff --git a/src/mainboard/asus/p8x7x-series/mainboard.c b/src/mainboard/asus/p8x7x-series/mainboard.c
--- a/src/mainboard/asus/p8x7x-series/mainboard.c
+++ b/src/mainboard/asus/p8x7x-series/mainboard.c
@@ -62,14 +62,20 @@ static void mainboard_init(void *unused)
 		 * Skip if ME is already unlocked or inoperable.
 		 */
 		union me_hfs hfs;
+		union me_gmes gmes;
 		int32_t me_sig = pci_s_read_config32(PCH_ME_DEV, PCI_VENDOR_ID);
 		hfs.raw = pci_s_read_config32(PCH_ME_DEV, PCI_ME_HFS);
+		gmes.raw = pci_s_read_config32(PCH_ME_DEV, PCI_ME_GMES);
+		intel_me_status(&hfs, &gmes);
 		if (me_sig != -1 &&
 		    hfs.working_state != 4 &&
 		    hfs.operation_mode != ME_HFS_MODE_DEBUG) {
 			printk(BIOS_INFO, "Unlocking ME, system will restart... ");
 			mainboard_unlock_me(1);
 			udelay(8);
+			hfs.raw = pci_s_read_config32(PCH_ME_DEV, PCI_ME_HFS);
+			gmes.raw = pci_s_read_config32(PCH_ME_DEV, PCI_ME_GMES);
+			intel_me_status(&hfs, &gmes);
 			full_reset();
 		} else {
 			printk(BIOS_INFO, "ME unlocked or inop. ");
