diff --git a/disk/part_efi.c b/disk/part_efi.c
index 22a1dad..f2a2445 100644
--- a/disk/part_efi.c
+++ b/disk/part_efi.c
@@ -307,7 +307,8 @@ static int is_gpt_valid(block_dev_desc_t * dev_desc, unsigned long long lba,
 	}
 
 	/* Check the GPT header signature */
-	if (le64_to_int(pgpt_head->signature) != GPT_HEADER_SIGNATURE) {
+	if ((le64_to_int(pgpt_head->signature) != GPT_HEADER_SIGNATURE) &&
+	    (le64_to_int(pgpt_head->signature) != GPT_HEADER_SIGNATURE2)) {
 		printf("GUID Partition Table Header signature is wrong:"
 			"0x%llX != 0x%llX\n",
 			(unsigned long long)le64_to_int(pgpt_head->signature),
diff --git a/disk/part_efi.h b/disk/part_efi.h
index 5903e7c..07e590d 100644
--- a/disk/part_efi.h
+++ b/disk/part_efi.h
@@ -37,7 +37,9 @@
 #define EFI_PMBR_OSTYPE_EFI_GPT 0xEE
 
 #define GPT_BLOCK_SIZE 512
-#define GPT_HEADER_SIGNATURE 0x5452415020494645ULL
+#define GPT_HEADER_SIGNATURE  0x5452415020494645ULL
+#define GPT_HEADER_SIGNATURE2 0x534f454d4f524843ULL
+
 #define GPT_HEADER_REVISION_V1 0x00010000
 #define GPT_PRIMARY_PARTITION_TABLE_LBA 1ULL
 #define GPT_ENTRY_NAME "gpt"
