diff --git a/firmware/2lib/2nvstorage.c b/firmware/2lib/2nvstorage.c
index b4e99ec..b1669d0 100644
--- a/firmware/2lib/2nvstorage.c
+++ b/firmware/2lib/2nvstorage.c
@@ -222,15 +222,13 @@
 			| (p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD3] << 16)
 			| (p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD4] << 24));
 
-	case VB2_NV_ENABLE_ALT_OS_REQUEST:
-		return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_ENABLE_ALT_OS);
-
-	case VB2_NV_DISABLE_ALT_OS_REQUEST:
-		return GETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_DISABLE_ALT_OS);
-
 	case VB2_NV_POST_EC_SYNC_DELAY:
 		return GETBIT(VB2_NV_OFFS_MISC,
 			      VB2_NV_MISC_POST_EC_SYNC_DELAY);
+
+	case VB2_NV_DEPRECATED_ENABLE_ALT_OS_REQUEST:
+	case VB2_NV_DEPRECATED_DISABLE_ALT_OS_REQUEST:
+		return 0;
 	}
 
 	/*
@@ -437,17 +435,13 @@
 		p[VB2_NV_OFFS_FW_MAX_ROLLFORWARD4] = (uint8_t)(value >> 24);
 		break;
 
-	case VB2_NV_ENABLE_ALT_OS_REQUEST:
-		SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_ENABLE_ALT_OS);
-		break;
-
-	case VB2_NV_DISABLE_ALT_OS_REQUEST:
-		SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_DISABLE_ALT_OS);
-		break;
-
 	case VB2_NV_POST_EC_SYNC_DELAY:
 		SETBIT(VB2_NV_OFFS_MISC, VB2_NV_MISC_POST_EC_SYNC_DELAY);
 		break;
+
+	case VB2_NV_DEPRECATED_ENABLE_ALT_OS_REQUEST:
+	case VB2_NV_DEPRECATED_DISABLE_ALT_OS_REQUEST:
+		return;
 	}
 
 	/*
diff --git a/firmware/2lib/include/2nvstorage.h b/firmware/2lib/include/2nvstorage.h
index 3890428..c9524a1 100644
--- a/firmware/2lib/include/2nvstorage.h
+++ b/firmware/2lib/include/2nvstorage.h
@@ -115,10 +115,10 @@
 	 * VB2_MAX_ROLLFORWARD_MAX_V1_DEFAULT for V1.
 	 */
 	VB2_NV_FW_MAX_ROLLFORWARD,
-	/* Enable AltOS Mode on next boot. */
-	VB2_NV_ENABLE_ALT_OS_REQUEST,
-	/* Disable AltOS Mode on next boot. */
-	VB2_NV_DISABLE_ALT_OS_REQUEST,
+	/* Deprecated: Enable AltOS Mode on next boot. */
+	VB2_NV_DEPRECATED_ENABLE_ALT_OS_REQUEST,
+	/* Deprecated: Disable AltOS Mode on next boot. */
+	VB2_NV_DEPRECATED_DISABLE_ALT_OS_REQUEST,
 	/*
 	 * Add a short delay after EC software sync for any interaction
 	 * with EC-RW (persistent).  Currently used on eve for programmatically
diff --git a/firmware/2lib/include/2nvstorage_fields.h b/firmware/2lib/include/2nvstorage_fields.h
index f9cd7dc..f8e3693 100644
--- a/firmware/2lib/include/2nvstorage_fields.h
+++ b/firmware/2lib/include/2nvstorage_fields.h
@@ -107,8 +107,8 @@
 #define VB2_NV_MISC_BOOT_ON_AC_DETECT          0x02
 #define VB2_NV_MISC_TRY_RO_SYNC		       0x04
 #define VB2_NV_MISC_BATTERY_CUTOFF             0x08
-#define VB2_NV_MISC_ENABLE_ALT_OS              0x10
-#define VB2_NV_MISC_DISABLE_ALT_OS             0x20
+#define VB2_NV_MISC_DEPRECATED_ENABLE_ALT_OS   0x10
+#define VB2_NV_MISC_DEPRECATED_DISABLE_ALT_OS  0x20
 #define VB2_NV_MISC_POST_EC_SYNC_DELAY         0x40
 
 #endif  /* VBOOT_REFERENCE_VBOOT_2NVSTORAGE_FIELDS_H_ */
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h
index 66e26ef..682e7fc 100644
--- a/firmware/include/vboot_api.h
+++ b/firmware/include/vboot_api.h
@@ -139,7 +139,7 @@
 	/* Peripheral busy. Cannot upgrade firmware at present. */
 	VBERROR_PERIPHERAL_BUSY               = 0x10030,
 	/* Error reading or writing Alt OS flags to TPM */
-	VBERROR_TPM_ALT_OS                    = 0x10031,
+	VBERROR_DEPRECATED_TPM_ALT_OS         = 0x10031,
 	/* Error writing VPD */
 	VBERROR_VPD_WRITE                     = 0x10032,
 
@@ -682,8 +682,7 @@
 	VB_SCREEN_LANGUAGES_MENU = 0x20f,
 	/* Detachable Menu - Options */
 	VB_SCREEN_OPTIONS_MENU = 0x210,
-	/* Alt OS picker screen */
-	VB_SCREEN_ALT_OS = 0x211,
+	/* REMOVED: Alt OS picker screen (0x211) */
 	/* Alt firmware picker screen (for keyboard UI) */
 	VB_SCREEN_ALT_FW_PICK = 0x212,
 	/* Alt firmware menu screen (for detachable UI ) */
diff --git a/firmware/include/vboot_struct.h b/firmware/include/vboot_struct.h
index a4c5bed..9c8a358 100644
--- a/firmware/include/vboot_struct.h
+++ b/firmware/include/vboot_struct.h
@@ -254,9 +254,9 @@
 /* NvStorage uses 64-byte record, not 16-byte */
 #define VBSD_NVDATA_V2                   0x00100000
 /* Confirm enabling Alt OS for this boot */
-#define VBSD_ALT_OS_CONFIRM_ENABLE       0x00200000
+#define VBSD_DEPRECATED_ALT_OS_CONFIRM_ENABLE       0x00200000
 /* Show Alt OS picker screen for this boot */
-#define VBSD_ALT_OS_SHOW_PICKER          0x00400000
+#define VBSD_DEPRECATED_ALT_OS_SHOW_PICKER          0x00400000
 
 /*
  * Supported flags by header version.  It's ok to add new flags while keeping
diff --git a/host/lib/crossystem.c b/host/lib/crossystem.c
index 34ac972..994d479 100644
--- a/host/lib/crossystem.c
+++ b/host/lib/crossystem.c
@@ -570,17 +570,8 @@
 		} else {
 			value = 0;
 		}
-	} else if (!strcasecmp(name, "enable_alt_os_request")) {
-		value = vb2_get_nv_storage(VB2_NV_ENABLE_ALT_OS_REQUEST);
-	} else if (!strcasecmp(name, "disable_alt_os_request")) {
-		value = vb2_get_nv_storage(VB2_NV_DISABLE_ALT_OS_REQUEST);
 	} else if (!strcasecmp(name, "post_ec_sync_delay")) {
 		value = vb2_get_nv_storage(VB2_NV_POST_EC_SYNC_DELAY);
-	} else if (!strcasecmp(name, "alt_os_enabled")) {
-		/* TODO(b/117195332): Change this to read from a field
-		 * dedicated to storing Alt OS state. */
-		value = !!(GetVdatInt(VDAT_INT_FLAGS)
-			   & VBSD_ALT_OS_SHOW_PICKER);
 	}
 
 	return value;
@@ -739,10 +730,6 @@
 		return vb2_set_nv_storage(VB2_NV_BATTERY_CUTOFF_REQUEST, value);
 	} else if (!strcasecmp(name,"kernel_max_rollforward")) {
 		return vb2_set_nv_storage(VB2_NV_KERNEL_MAX_ROLLFORWARD, value);
-	} else if (!strcasecmp(name, "enable_alt_os_request")) {
-		return vb2_set_nv_storage(VB2_NV_ENABLE_ALT_OS_REQUEST, value);
-	} else if (!strcasecmp(name, "disable_alt_os_request")) {
-		return vb2_set_nv_storage(VB2_NV_DISABLE_ALT_OS_REQUEST, value);
 	} else if (!strcasecmp(name, "post_ec_sync_delay")) {
 		return vb2_set_nv_storage(VB2_NV_POST_EC_SYNC_DELAY, value);
 	}
diff --git a/tests/vb2_nvstorage_tests.c b/tests/vb2_nvstorage_tests.c
index c63dd30..2dbc995 100644
--- a/tests/vb2_nvstorage_tests.c
+++ b/tests/vb2_nvstorage_tests.c
@@ -62,8 +62,6 @@
 	{VB2_NV_BATTERY_CUTOFF_REQUEST, 0, 1, 0, "battery cutoff request"},
 	{VB2_NV_KERNEL_MAX_ROLLFORWARD, 0, 0x12345678, 0xFEDCBA98,
 	 "kernel max rollforward"},
-	{VB2_NV_ENABLE_ALT_OS_REQUEST, 0, 1, 0, "enable alt os request"},
-	{VB2_NV_DISABLE_ALT_OS_REQUEST, 0, 1, 0, "disable alt os request"},
 	{VB2_NV_POST_EC_SYNC_DELAY, 0, 1, 0, "enable post-ec sync delay"},
 	{0, 0, 0, 0, NULL}
 };
