diff --git a/src/snd_fx.cpp b/src/snd_fx.cpp index c7f85499..d4249369 100644 --- a/src/snd_fx.cpp +++ b/src/snd_fx.cpp @@ -2120,7 +2120,12 @@ int CSoundFile::PatternLoop(MODCHANNEL *pChn, UINT param) if (pChn->nPatternLoopCount) { pChn->nPatternLoopCount--; - if (!pChn->nPatternLoopCount) return -1; + if (!pChn->nPatternLoopCount) + { + if (m_nType & (MOD_TYPE_S3M|MOD_TYPE_IT)) + pChn->nPatternLoop = m_nRow + 1; + return -1; + } } else { MODCHANNEL *p = Chn;