diff --git a/CHANGELOG.md b/CHANGELOG.md
index b19d23e..15dd472 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -41,6 +41,7 @@
    when invoking `meson setup`
 
 4. bios_table: Relax pldm_bios_table_string_entry_decode_string_check()
+5. bios_table: Relax pldm_bios_table_attr_entry_enum_decode_pv_hdls_check()
 
 ### Removed
 
diff --git a/include/libpldm/bios_table.h b/include/libpldm/bios_table.h
index f56b066..30f3b14 100644
--- a/include/libpldm/bios_table.h
+++ b/include/libpldm/bios_table.h
@@ -316,9 +316,11 @@
  *  @param[in] pv_num - Number of PossibleValuesStringHandles the buffer can
  * store
  *  @return PLDM_SUCCESS on success, otherwise PLDM_ERROR_INVALID_DATA if entry or pv_hdls are NULL,
- *          or entry is not of type PLDM_BIOS_ENUMERATION, or the number of possible values is not
- *          equal to pv_num. An appropriate value for pv_num can be determined using @ref
- *          pldm_bios_table_attr_entry_enum_decode_pv_num_check
+ *          or entry is not of type PLDM_BIOS_ENUMERATION. An appropriate value for pv_num can be
+ *          determined using @ref pldm_bios_table_attr_entry_enum_decode_pv_num_check. pv_num may be
+ *          less than the value provided by @ref
+ *          pldm_bios_table_attr_entry_enum_decode_pv_num_check, in which case only the first pv_num
+ *          handles will be decoded.
  */
 int pldm_bios_table_attr_entry_enum_decode_pv_hdls_check(
 	const struct pldm_bios_attr_table_entry *entry, uint16_t *pv_hdls,
diff --git a/src/bios_table.c b/src/bios_table.c
index d6cf6f3..a861a87 100644
--- a/src/bios_table.c
+++ b/src/bios_table.c
@@ -287,10 +287,6 @@
 	POINTER_CHECK(entry);
 	POINTER_CHECK(pv_hdls);
 	ATTR_TYPE_EXPECT(entry->attr_type, PLDM_BIOS_ENUMERATION);
-	uint8_t num = pldm_bios_table_attr_entry_enum_decode_pv_num(entry);
-	if (num != pv_num) {
-		return PLDM_ERROR_INVALID_DATA;
-	}
 	pldm_bios_table_attr_entry_enum_decode_pv_hdls(entry, pv_hdls, pv_num);
 	return PLDM_SUCCESS;
 }
diff --git a/tests/libpldm_bios_table_test.cpp b/tests/libpldm_bios_table_test.cpp
index c677b99..9e9a767 100644
--- a/tests/libpldm_bios_table_test.cpp
+++ b/tests/libpldm_bios_table_test.cpp
@@ -102,7 +102,7 @@
     EXPECT_EQ(pvHandles[1], 3);
     rc = pldm_bios_table_attr_entry_enum_decode_pv_hdls_check(
         entry, pvHandles.data(), 1);
-    EXPECT_EQ(rc, PLDM_ERROR_INVALID_DATA);
+    EXPECT_EQ(rc, PLDM_SUCCESS);
 
     uint8_t defNumber = pldm_bios_table_attr_entry_enum_decode_def_num(entry);
     EXPECT_EQ(defNumber, 1);
