[PhysX 3.3.1] CapsuleController collides with non-existent physics

In our engine, we were doing something terrible - all our static objects were created as RigidDynamic with gravity and simulation disabled instead of as RigidStatic. The consequence of this was that when we added vehicles, for some reason the vehicle wasn’t colliding with any other object (it could just drive through walls for example). So, we figured out that we needed to create our static objects as RigidStatic, and everything worked fine.

Except, now we’ve discovered that this change has caused our CapsuleController character to collide with and get stuck inside of seemingly non-existent physics. Nothing shows up in the visual debugger, and vehicles do not collide with anything there either. Even stranger, if I change the character to use a BoxController, then the problem stops occurring.

I suspected it might have something to do with the static mesh cache, so I tried calling invalidateCache() every frame before calling move() on the controller, but it didn’t make any difference. I’ve also tried playing around with different parameters in the CapsuleControllerDesc, but again nothing has helped.

If I change all actors back to being RigidDynamic with gravity and simulation disabled, then the problem also doesn’t occur.

The non-existent collision is linked to real collision which is nearby. It’s also 100% consistent in where these non-existent collisions are occurring between runs, and if I delete certain objects from the scene (dynamically, while the game is running), then the non-existent collision is also deleted with it. With this method, I can link specific objects to specific occurrences of the CapsuleController getting stuck where it shouldn’t.

Any ideas? I feel like this is some kind of weird bug within CapsuleController, but I can’t imagine such a bug wouldn’t have been reported before. What could I be doing wrong?