add in a different creation path for providers (bug 940528)
Merge pull request #1417 from andymckay/940528

wip (bug 940528)