Interpolating between multiple waves in a wavetable oscillator?

I’ve set up a synth plugin where each oscillator contains a set of multiple waves loaded from an audio file, each wave then gets a band-limited set of subtables as described by Nigel Redmon here. All that works as expected with a single wave (or ‘frame’), but sweeping the position across multiple frames generates a lot of noise and irregularities. Right now, I’m basically trying to just lerp between two adjacent frames and the code looks like this:

        pFrame = position * (numFrames - 1);
        lowerIndex = floor(pFrame);
        skew = pFrame - lowerIndex;
        upperIndex = (lowerIndex == (numFrames - 1)) ? 0 : lowerIndex + 1;
        bSample = aFrames[lowerIndex].getSample(freq);
        tSample = aFrames[upperIndex].getSample(freq);
        output = bSample + ((tSample - bSample) * skew);

Considering that the band-limiting works fine on single frames at all octaves, it seems like the issue has to be in the interpolation between adjacent frames but I can’t guess why the above code yields such bad sound. Any insight from those who have implemented this sort of thing before is much appreciated.