First the reason re sizing fixes it is that the map checks that everything is "correct" on browser resize. Since the tab is hidden by default the size of the map is smaller until the tab is opened, but no event is getting sent to the map to notify of the change. I have seen similar problems with google maps before and its not really a problem, just something that can get missed easily.
There are a couple of fixes for that, the first is by calling
map.checkResize() when the tab is opened. Though given it is a third party component that may not be easy, but if core modifications have already been made that may not be a problem. Replace
map with the actual variable for the map.
The second, easier way to "trick" it without actually touching it is to simply do something like this:
You can place that anywhere (as long as its after the DOM has loaded of course) and it should fix it. It triggers a resize event automatically when the tab is clicked so it should force the map to work without a manual resize.
The first suggestion is the best as it is not any kind of "hack" but the second should work no matter what.