Add preparation for provider (bug 942361)

doesn't this need to be async? I think you need to wait for ``prepareAll().done()``