When you have two providers - BingMapProvider and custom TiledProvider - and the map source of the second provider (the custom one) is changed, the updated provider is drawn under the provider defined before it in the Providers collection (the BingMapProvider). To work this around you can call the BingMapProvider's SetMapSource() method after the source of the custom provider is changed. // set the custom provider source bingMapProvider.SetMapSource(bingMapProvider.SupportedSources[0]);