diff --git a/libs/audio/renderer/snd_channels.c b/libs/audio/renderer/snd_channels.c index 0a0f518a7..1596d420c 100644 --- a/libs/audio/renderer/snd_channels.c +++ b/libs/audio/renderer/snd_channels.c @@ -347,10 +347,12 @@ s_updateAmbientSounds (void) if (!chan) continue; - if (!chan->sfx) + if (!chan->sfx) { sfx = sfx->open (sfx); - else + sfx->retain (sfx); + } else { sfx = chan->sfx; + } // sfx will be written to chan->sfx later to ensure mixer doesn't use // channel prematurely.