I don't think it should be calling it twice - does this happen to ALL widgets?
Is it the same widget actually being rendered twice? E.g. do you have a resource being requested on page load that is 404'ing and potentially loading a widget on the 404 page?