diff --git a/Core/HLE/sceMp3.cpp b/Core/HLE/sceMp3.cpp index 983c9fe3aa..3d3468ccb9 100644 --- a/Core/HLE/sceMp3.cpp +++ b/Core/HLE/sceMp3.cpp @@ -577,8 +577,8 @@ int sceMp3NotifyAddStreamData(u32 mp3, int size) { ctx->bufferAvailable += size; ctx->bufferWrite += size; - if (ctx->bufferWrite == ctx->mp3BufSize) - ctx->bufferWrite = 0; + if (ctx->bufferWrite >= ctx->mp3BufSize) + ctx->bufferWrite %= ctx->mp3BufSize; if (ctx->readPosition >= ctx->mp3StreamEnd && ctx->mp3LoopNum != 0) { ctx->readPosition = ctx->mp3StreamStart;