After more than a decade in office, state Rep. Carla Cunningham appeared to lose her Democratic primary on Tuesday by a significant margin.
Her main opponent was the Rev. Rodney Sadler, a 58-year-old Biblical scholar and political newcomer. With all precincts reporting Tuesday night, Sadler was just shy of 70% to Cunningham’s 22%. Vermanno Bowman, finished third with just over 8%.
The race in N.C. House District 106, which covers parts of northeast Charlotte and Huntersville, was more contentious this year than anyone might have expected. Past primaries for Cunningham, a seven-term incumbent, were barely contested. And in this heavily Democratic district, winning the general election was a foregone conclusion.
But this year’s race was seen as a test of how Democratic voters are responding to increased immigration enforcement under President Donald Trump and the Republican-majority legislature.
Cunningham she drew the wrath of many in her party last summer, when she cast a decisive vote to override Gov. Josh Stein’s veto of an immigration bill requiring sheriffs to determine the status of county jail inmates and hold them for an additional 48 hours if Immigration and Customs Enforcement (ICE) issues a detainer request. She was the only Democrat in the General Assembly who backed it.
After her vote, Cunningham delivered a floor speech declaring “all cultures are not equal” and that immigrants “must assimilate—adapt to the culture of the country they wish to live in.” It drew swift rebuke from immigrant advocates and other Democrats. Tensions on the ground increased last November, when the Trump administration increased immigration enforcement operations in her district as part of “Operation Charlotte’s Web.”
Stein then took the rare step of siding with Cunningham’s primary challenger. The state party also denied her campaign access to its voter contact software.
Read more about the primary from our past reporting.

