diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4d34dcd..72821b2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -37,6 +37,10 @@
 
    Migrate to pldm_bios_table_attr_value_entry_encode_string_check()
 
+4. bios_table: Deprecate pldm_bios_table_attr_value_entry_encode_integer()
+
+   Migrate to pldm_bios_table_attr_value_entry_encode_integer_check()
+
 ### Removed
 
 1. bios_table: Remove deprecated APIs sanitized by assert():
diff --git a/include/libpldm/bios_table.h b/include/libpldm/bios_table.h
index f69fa71..b042a0e 100644
--- a/include/libpldm/bios_table.h
+++ b/include/libpldm/bios_table.h
@@ -608,7 +608,9 @@
  *  @param[in] attr_type - Type of this attribute in the BIOS Attribute Value
  * Table
  *  @param[in] cv - Current Value
- *  @return pldm_completion_codes
+ *  @return PLDM_SUCCESS on success. PLDM_ERROR_INVALID_DATA if entry is NULL or attr_type is not
+ *  	    PLDM_BIOS_INTEGER. PLDM_ERROR_INVALID_LENGTH if entry_length lacks capacity to encode cv
+ *  	    in entry.
  */
 int pldm_bios_table_attr_value_entry_encode_integer_check(void *entry,
 							  size_t entry_length,
diff --git a/src/bios_table.c b/src/bios_table.c
index c6a2d1f..ff54d40 100644
--- a/src/bios_table.c
+++ b/src/bios_table.c
@@ -796,15 +796,10 @@
 						     uint8_t attr_type,
 						     uint64_t cv)
 {
-	size_t length =
-		pldm_bios_table_attr_value_entry_encode_integer_length();
-	assert(length <= entry_length);
-
-	struct pldm_bios_attr_val_table_entry *table_entry = entry;
-	table_entry->attr_handle = htole16(attr_handle);
-	table_entry->attr_type = attr_type;
-	cv = htole64(cv);
-	memcpy(table_entry->value, &cv, sizeof(uint64_t));
+	int rc = pldm_bios_table_attr_value_entry_encode_integer_check(
+		entry, entry_length, attr_handle, attr_type, cv);
+	(void)rc;
+	assert(rc == PLDM_SUCCESS);
 }
 
 LIBPLDM_ABI_STABLE
@@ -819,8 +814,11 @@
 		pldm_bios_table_attr_value_entry_encode_integer_length();
 	ATTR_TYPE_EXPECT(attr_type, PLDM_BIOS_INTEGER);
 	BUFFER_SIZE_EXPECT(entry_length, length);
-	pldm_bios_table_attr_value_entry_encode_integer(
-		entry, entry_length, attr_handle, attr_type, cv);
+	struct pldm_bios_attr_val_table_entry *table_entry = entry;
+	table_entry->attr_handle = htole16(attr_handle);
+	table_entry->attr_type = attr_type;
+	cv = htole64(cv);
+	memcpy(table_entry->value, &cv, sizeof(uint64_t));
 	return PLDM_SUCCESS;
 }
 
diff --git a/tests/libpldm_bios_table_test.cpp b/tests/libpldm_bios_table_test.cpp
index a7f5677..19204a6 100644
--- a/tests/libpldm_bios_table_test.cpp
+++ b/tests/libpldm_bios_table_test.cpp
@@ -727,7 +727,7 @@
     EXPECT_DEATH(pldm_bios_table_attr_value_entry_encode_integer(
                      encodeEntry.data(), encodeEntry.size() - 1, 0,
                      PLDM_BIOS_INTEGER, 10),
-                 "length <= entry_length");
+                 "rc == PLDM_SUCCESS");
 
     auto rc = pldm_bios_table_attr_value_entry_encode_integer_check(
         encodeEntry.data(), encodeEntry.size(), 0, PLDM_BIOS_INTEGER, 10);
