diff --git a/components/esm/esmreader.cpp b/components/esm/esmreader.cpp index 278a1541a4..92dbba1674 100644 --- a/components/esm/esmreader.cpp +++ b/components/esm/esmreader.cpp @@ -127,7 +127,7 @@ std::string ESMReader::getHString() // them. For some reason, they break the rules, and contain a byte // (value 0) even if the header says there is no data. If // Morrowind accepts it, so should we. - if (mCtx.leftSub == 0 && mCtx.leftRec != 0) + if (mCtx.leftSub == 0 && !mEsm->peek()) { // Skip the following zero byte mCtx.leftRec--;