Index: NVDataMgmt.c =================================================================== diff -u -re607e6333b39b9768de5185f8ef7e146a60485f4 -r9192f93aa3c31e33271632a0d3ecac299a5b33e0 --- NVDataMgmt.c (.../NVDataMgmt.c) (revision e607e6333b39b9768de5185f8ef7e146a60485f4) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision 9192f93aa3c31e33271632a0d3ecac299a5b33e0) @@ -1684,7 +1684,9 @@ { NVDATAMGMT_SELF_TEST_STATE_T state = NVDATAMGMT_SELF_TEST_STATE_READ_RECORDS; - if ( TRUE == isRecordQueueEmpty() ) + // Check if the queues are empty and the exec state machine is in Idle meaning all the records have been read and the state machine + // is back at Idle so even the last job in the queue has been processed + if ( ( TRUE == isRecordQueueEmpty() ) && ( NVDATAMGMT_EXEC_STATE_IDLE == nvDataMgmtExecState ) ) { recordsReadStatus = NVDATAMGMT_RECORDS_READ; state = NVDATAMGMT_SELF_TEST_STATE_CHECK_CRC;