diff --git a/libpldm/platform.c b/libpldm/platform.c
index fc9cc56..3cbc137 100644
--- a/libpldm/platform.c
+++ b/libpldm/platform.c
@@ -157,9 +157,12 @@
 		if (record_data != NULL && resp_cnt > 0) {
 			memcpy(response->record_data, record_data, resp_cnt);
 		}
-		uint8_t *dst = msg->payload;
-		dst += (sizeof(struct pldm_get_pdr_resp) - 1) + resp_cnt;
-		*dst = transfer_crc;
+		if (transfer_flag == PLDM_END) {
+			uint8_t *dst = msg->payload;
+			dst +=
+			    (sizeof(struct pldm_get_pdr_resp) - 1) + resp_cnt;
+			*dst = transfer_crc;
+		}
 	}
 
 	return PLDM_SUCCESS;
diff --git a/test/libpldm_platform_test.cpp b/test/libpldm_platform_test.cpp
index 154bb59..425dc45 100644
--- a/test/libpldm_platform_test.cpp
+++ b/test/libpldm_platform_test.cpp
@@ -144,10 +144,10 @@
     uint8_t completionCode = 0;
     uint32_t nextRecordHndl = 0x12;
     uint32_t nextDataTransferHndl = 0x13;
-    uint8_t transferFlag = PLDM_START_AND_END;
+    uint8_t transferFlag = PLDM_END;
     uint16_t respCnt = 0x5;
     std::vector<uint8_t> recordData{1, 2, 3, 4, 5};
-    uint8_t transferCRC = 0;
+    uint8_t transferCRC = 6;
 
     // + size of record data and transfer CRC
     std::vector<uint8_t> responseMsg(hdrSize + PLDM_GET_PDR_MIN_RESP_BYTES +
@@ -169,6 +169,16 @@
     ASSERT_EQ(respCnt, resp->response_count);
     ASSERT_EQ(0,
               memcmp(recordData.data(), resp->record_data, recordData.size()));
+    ASSERT_EQ(*(response->payload + sizeof(pldm_get_pdr_resp) - 1 +
+                recordData.size()),
+              transferCRC);
+
+    transferFlag = PLDM_START_AND_END; // No CRC in this case
+    responseMsg.resize(responseMsg.size() - sizeof(transferCRC));
+    rc = encode_get_pdr_resp(0, PLDM_SUCCESS, nextRecordHndl,
+                             nextDataTransferHndl, transferFlag, respCnt,
+                             recordData.data(), transferCRC, response);
+    ASSERT_EQ(rc, PLDM_SUCCESS);
 }
 
 TEST(GetPDR, testBadEncodeResponse)
