Improve how pinned providers are handled

Heh, ivan also said something but couldn't come up with a good alternative... I'll think of something.