PhysX 3.3.4 - multithreading issue: can't get a shape's scene

I’m running PhysX in a mutithreaded environment, so I need to lock the scene when accessing data. This works fine for the scene itself, or an actor by calling PxActor::getScene(). However, when accessing a shape, I need to call PxShape::getActor()->getScene(), which fails because PxShape::getActor() checks to see if the scene is locked before returning the actor. Is there some way around this without caching the scene somewhere? I’d prefer not to have that extra data around.