Donald Trump and Dan Bishop at a rally in Fayetteville, North Carolina, on September 10Chris Seward / AP

Why does election fraud happen? Because it works, of course. Usually it works because it’s undetected, and the candidate who commits the fraud, or on whose behalf it is committed, wins.

The results of a special election in North Carolina’s Ninth Congressional District yesterday are more peculiar. In a tight election, the Republican Dan Bishop, a state senator, beat the Democrat Dan McCready by roughly 4,000 votes, far wider than the 905-vote margin for the Republican Mark Harris in unofficial results last year. (In a separate special election yesterday in the state’s Third Congressional District, along the East Coast, to replace the late Representative Walter Jones, the Republican Greg Murphy won, as expected.)

After an alleged massive election-fraud ring working on Harris’s behalf was uncovered last fall, he was forced to withdraw from the contest in disgrace, and the state board of elections ordered a new election. Though it’s impossible to know whether McCready would have won a fair contest in 2018, the fraud-caused postponement past the peak of 2018’s blue wave may have allowed Republicans to hold the hotly contested seat anyway.

The Ninth District race was, as I reported last week, both an encore to 2018 and a curtain-raiser for 2020. McCready, a marine and solar-energy entrepreneur, ran as a moderate problem-solver with a local focus, emphasizing reducing out-of-pocket health-care costs and improving public schools. This was a message that worked for many Democrats in similar districts in 2018, but McCready had the misfortune of running in a new political moment. Bishop, the guiding force behind North Carolina’s controversial 2016 “bathroom bill,” sought to nationalize the race by tying himself to Donald Trump. Bishop wagered that anger toward the president wouldn’t be as potent a force as it was 10 months ago, and that he could hurt McCready by tying him to leftist Democrats in the House and in the presidential race.

Spending in the race was high—about $20 million, with national parties and organizations shelling out on behalf of both candidates. President Trump held a rally Monday night in Fayetteville to boost Bishop, and tweeted repeatedly about the race. Both parties expected a close race, with turnout likely to be low for a special election at an unusual time. McCready placed his hope in a massive field operation, with 24 full-time organizers on his staff.

Once again, McCready was able to win over the inner suburbs around Charlotte, but Bishop improved on Harris’s performance in the district’s six eastern, more rural counties by enough to edge the Democratic vote. The final margin of victory is likely to be close to 2 percent, well below President Trump’s double-digit advantage in 2016, but ahead of the 2018 results.

What changed? On the Republican side, Bishop was simply a better candidate than Harris, who won the nomination after upsetting the incumbent, Representative Robert Pittenger. Bishop was more seasoned and better connected to the national party, especially to Trump.

McCready’s struggles may be more revealing for those looking for portents of 2020. He was not the most electrifying candidate, striving for what one aide labeled an “aggressively normal” affect. Democrats nationally, and especially in North Carolina, have gravitated to straitlaced, moderate candidates such as McCready, hoping they can win over independents and voters who have traditionally leaned Republican but are appalled by Trump. McCready was able to raise money effectively, and he was able to generate a great deal of excitement in places like Mecklenburg County, home to Charlotte—just the sort of suburban, moderate district that many Democrats won in 2018.

McCready actually improved his margin of victory in Mecklenburg in 2019. He even improved his margin slightly in Union County, a Republican stronghold of outer Charlotte suburbs. But in the more rural counties to the east, he struggled. Bishop flipped Richmond and Cumberland Counties, and nearly won Robeson County, a traditional Democratic base.

A report from Working America, a labor group that’s part of the AFL-CIO, offers some hints as to what might have gone wrong for McCready in those areas, where the Democratic vote is heavily African American. Working America began surveying working-class voters in predominantly black neighborhoods in three counties in the eastern part of the district in July. The report found that voters were most concerned about jobs and the economy, but a plurality said it didn’t make a difference which party was in power. They also expressed either indifference to or a lack of awareness of McCready and his campaign. That showed in the results, as Democratic turnout in those areas sank. Democratic candidates and operatives take the drop-off in places such as Robeson County at their party’s peril in 2020.

Given his campaigning for Bishop, Trump can be expected to exult in the result. Congressional Republicans, by contrast, had carefully controlled expectations ahead of the election. “You know, the Bishop district is a very tough swing district,” Minority Whip Steve Scalise told reporters yesterday. A win is a win, and there’s no such thing as a moral victory for Democrats here. Still, it’s bad news for Republicans that the result was so close. No Democrat has held the Ninth District seat since 1963, and Trump won the district by 12 points in 2016. If even the Ninth is a swing district, Republicans can expect a nightmarish congressional-election cycle in 2020.

We want to hear what you think about this article. Submit a letter to the editor or write to letters@theatlantic.com.