ChoosePlayerStart recursive loop

I’ve found a recursive loop if you override ChoosePlayerStart and use FindPlayerStart with a tag that doesn’t exist. It will attempt to call ChoosePlayerStart again.
Is there another method similar to FindPlayerStart which would be a better choice?
Thanks

EDIT: Looking through the base implementation, I’ve just recreated what the code does, so I’m using this unless there is a better method.