Alright, I looked at this, and found a place to consolidate the code that should address, if it was for sure an issue (and not just incredibly bad luck). Not gonna lie, I got distracted while implementing, and there's a slim chance I screwed something up in this new implementation, but it should be fixed now...