diff --git a/src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h b/src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h
index 5080812..8e6e6cd 100644
--- a/src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h
+++ b/src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h
@@ -27,6 +27,7 @@
 #define CBMEM_ID_FSP_RESERVED_MEMORY 0x46535052
 #define CBMEM_ID_FSP_RUNTIME	0x52505346
 #define CBMEM_ID_FSPM_VERSION	0x56505346
+#define CBMEM_ID_MRC_VERSION	0x5f43524d
 #define CBMEM_ID_GDT		0x4c474454
 #define CBMEM_ID_HOB_POINTER	0x484f4221
 #define CBMEM_ID_IGD_OPREGION	0x4f444749
@@ -112,6 +113,7 @@
 	{ CBMEM_ID_FSP_RESERVED_MEMORY, "FSP MEMORY " }, \
 	{ CBMEM_ID_FSP_RUNTIME,		"FSP RUNTIME" }, \
 	{ CBMEM_ID_FSPM_VERSION,	"FSPM VERSION" }, \
+	{ CBMEM_ID_MRC_VERSION,		"MRC VERSION" }, \
 	{ CBMEM_ID_GDT,			"GDT        " }, \
 	{ CBMEM_ID_HOB_POINTER,		"HOB        " }, \
 	{ CBMEM_ID_IGD_OPREGION,	"IGD OPREGION" }, \
diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c
index fa24a7e..28e4d72 100644
--- a/src/drivers/intel/fsp2_0/memory_init.c
+++ b/src/drivers/intel/fsp2_0/memory_init.c
@@ -30,10 +30,28 @@
 
 static uint8_t temp_ram[CONFIG_FSP_TEMP_RAM_SIZE] __aligned(sizeof(uint64_t));
 
+/*
+ * Helper function to store the MRC cache version into CBMEM
+ *
+ * ramstage uses either the MRC version or FSP-M version (depending on the config)
+ * when updating the MRC cache
+ */
+static void do_cbmem_version_entry(uint32_t cbmem_id, uint32_t version)
+{
+	uint32_t *cbmem_version_entry = cbmem_add(cbmem_id, sizeof(version));
+	if (!cbmem_version_entry) {
+		printk(BIOS_ERR, "Failed to add %s version to cbmem.\n",
+				CONFIG(MRC_CACHE_USING_MRC_VERSION) ? "MRC" : "FSP-M");
+		return;
+	}
+	*cbmem_version_entry = version;
+}
+
 static void do_fsp_post_memory_init(bool s3wake, uint32_t version)
 {
 	struct range_entry fsp_mem;
-	uint32_t *fsp_version_cbmem;
+	uint32_t cbmem_id = CONFIG(MRC_CACHE_USING_MRC_VERSION) ? CBMEM_ID_MRC_VERSION :
+					 CBMEM_ID_FSPM_VERSION;
 
 	fsp_find_reserved_memory(&fsp_mem);
 
@@ -56,14 +74,8 @@
 		(uintptr_t)cbmem_find(CBMEM_ID_FSP_RESERVED_MEMORY))
 		die("Failed to accommodate FSP reserved memory request!\n");
 
-	/* ramstage uses the FSP-M version when updating the MRC cache */
-	if (CONFIG(CACHE_MRC_SETTINGS) && !s3wake) {
-		fsp_version_cbmem = cbmem_add(CBMEM_ID_FSPM_VERSION,
-					      sizeof(version));
-		if (!fsp_version_cbmem)
-			printk(BIOS_ERR, "Failed to add FSP-M version to cbmem.\n");
-		*fsp_version_cbmem = version;
-	}
+	if (CONFIG(CACHE_MRC_SETTINGS) && !s3wake)
+		do_cbmem_version_entry(cbmem_id, version);
 
 	/* Create romstage handof information */
 	romstage_handoff_init(s3wake);
diff --git a/src/drivers/intel/fsp2_0/save_mrc_data.c b/src/drivers/intel/fsp2_0/save_mrc_data.c
index d124942..19e8a52 100644
--- a/src/drivers/intel/fsp2_0/save_mrc_data.c
+++ b/src/drivers/intel/fsp2_0/save_mrc_data.c
@@ -11,14 +11,17 @@
 {
 	size_t mrc_data_size;
 	const void *mrc_data;
+	uint32_t cbmem_id = CONFIG(MRC_CACHE_USING_MRC_VERSION) ? CBMEM_ID_MRC_VERSION :
+					 CBMEM_ID_FSPM_VERSION;
 	uint32_t *version;
 
 	if (acpi_is_wakeup_s3())
 		return;
 
-	version = cbmem_find(CBMEM_ID_FSPM_VERSION);
+	version = cbmem_find(cbmem_id);
 	if (!version) {
-		printk(BIOS_ERR, "Failed to read FSP-M version from cbmem.\n");
+		printk(BIOS_ERR, "Failed to read %s version from cbmem.\n",
+				CONFIG(MRC_CACHE_USING_MRC_VERSION) ? "MRC" : "FSP-M");
 		return;
 	}
 
