Despite progressive opposition, Charlotte, North Carolina voted to host the Republican convention in 2020.

For a while, it looked like nobody wanted to host the Republican National Convention (RNC) in 2020. Only one city, Charlotte, bid on it, down from eight in 2016. Two other cities were interested, but they didn’t want to be the publicly identified. Las Vegas is rumored to have been one of them. Some cities were even running from hosting the RNC.

By contrast, the Democratic National Committee received proposals from Atlanta, Birmingham, Denver, Houston, Miami Beach, Milwaukee, New York, and San Francisco to host its convention. Not even Texas had a city willing to host the GOP.

Why? Sure, conventions cost cities a lot in security costs, but they also bring in money. Cleveland, Ohio paid $40 million for hosting the RNC in 2016, but made back over four times that much.

The problem is Trump.

Given Trump’s disapproval ratings, and the growing resistance to his administration’s policies, maybe cities are justifiably nervous about protests and marches. Add to that of the alt-right contingency that Trump has brought into the GOP mainstream, cities could fear violent clashes between white supremacists and counter-protesters, as happened in Charlottesville, Virginia.

Then there’s the likelihood that Trump will tweet something godawful, and local Republican politicians will have to answer some tricky questions. They may have to choose between opposing it and risking the wrath of Trump supporters in the GOP, or support it and alienate themselves from the general mainstream.

The short-term economic boost isn’t worth the potential long-term damage. Hosting the RNC is just more trouble than it’s worth.

Former San Antonio Mayor Phil Hardberger summed it up.

“Cities don’t want him,” he said. “I don’t think this would be good for San Antonio either because of the drumbeat of racism that he’s promulgated.”

So why is Charlotte stepping up? The city has already seen its share of turmoil. The shooting deaths of Jonathan Ferrell and Keith Lamont Scott brought protests and violence like that witnessed in Charlottesville. Charlotte can ill afford to go through that kind of trouble again.

The city already raised upwards of $50 million to host the convention. But how much will it ultimately cost?

On the other hand, Charlotte may still be hurting from the state’s passage of HB2, the anti-LGBT law that state Republicans pushed through in response to the city’s nondiscrimination ordinance. Major corporations like PayPal and Deutsche Bank pulled out of lucrative expansions. The NBA and NCAA canceled events. Artists like Bruce Springsteen canceled concerts and appearances.

The law is estimated to have cost the state between $450 and $630 million. That number may rise to $3.76 billion in the next dozen years.

Given the city’s status as a destination in the state, Charlotte has and will probably absorb a significant share of those losses as organizations, performers, and other groups steer clear of North Carolina. Perhaps that’s why representatives from the hotel, taxi, and restaurant industries who spoke at the city council meeting where the vote took place cited the money the convention would bring in.

Still, it was close. Charlotte almost voted to stop the RNC from coming to town. Over 100 people spoke out for and against the bid before the city council over three hours. Opposition ran high in the city, which is not surprising as it sits in a county – known as the ”donut,” for standing out as a ”blue” county surrounded by ”red” – that voted 2 to 1 for Hillary Clinton in 2016.

The city council voted 6-5 in favor of hosting the convention. Three Democrats on the committee crossed the aisle to vote with the two Republicans, and Democratic mayor Vi Lyles supported the bid.

Despite rhetoric about wanting to show bipartisanship and a willingness to work across party lines, in the end, money is probably what saved the GOP (though just barely) having to broadcast its convention from Mar-a-Lago; the one place that couldn’t say no.