diff --git a/apps/openmw/mwsound/soundmanagerimp.cpp b/apps/openmw/mwsound/soundmanagerimp.cpp index 1b88bb3f2..ebc3aab7e 100644 --- a/apps/openmw/mwsound/soundmanagerimp.cpp +++ b/apps/openmw/mwsound/soundmanagerimp.cpp @@ -225,8 +225,11 @@ namespace MWSound } SoundSet::iterator iter = mUnusedBuffers.begin(); Sound_Buffer *unused = &mSoundBuffers[*iter]; + mBufferCacheSize -= mOutput->getSoundDataSize(unused->mHandle); mOutput->unloadSound(unused->mHandle); + unused->mHandle = 0; + mUnusedBuffers.erase(iter); } mUnusedBuffers.insert(sfxid);