Getting your Trinity Audio player ready...

North Carolina lawmakers don’t expect to return to Raleigh for votes until after the November election. But a few of them have less-than-stellar attendance records so far this session.

The N.C. General Assembly has several months left in its two-year session, but the bulk of the policy work—including passing a budget—is already done. With all members of both chambers on the ballot in the midterms, The Assembly analyzed state voting data from the start of the session in January 2025 to the present to determine who missed the most votes. 

State Rep. John Sauls. (Bryan Anderson for The Assembly)

Republican state Rep. John Sauls of Lee County has been absent the most, participating in just 36% of votes. House Speaker Destin Hall said Sauls has been dealing with health issues, though he disputed a Democratic lawmaker’s claim that Sauls is “on his deathbed.”

The 289 total votes that Sauls cast is far fewer than those of his colleagues, including several who have died or resigned during this session. Sauls isn’t seeking reelection and didn’t respond to a request for comment.

The member who cast the next-fewest votes, Republican Rep. Mike Clampitt, died in March after voting 478 times this session. Republican Rep. Jarrod Lowery of Robeson County, who stepped down nine months into his term to take a job in the Trump administration, voted 520 times. Former Rep. Cecil Brockman, a Guilford County Democrat who resigned in October 2025 after being charged with child sex crimes, cast 529 votes. 

On the Senate side, Republican Sen. Lisa Stone Barnes of Nash County missed the most votes. She participated in 428 of her chamber’s 701 votes, or 61%. Her late husband, Johnny, died in July 2025, which contributed to many of her absences last year. Barnes is up for reelection in a highly competitive district.

Democratic Rep. Aisha Dew and Sen. DeAndrea Salvador were the next-most-absent members of the legislature, missing 36% and 30% of votes, respectively. Dew didn’t respond to a request for comment.

Salvador pointed out that GOP leadership in the Senate doesn’t provide a calendar of anticipated votes as far in advance as Hall does in the House. She said that between parenting two school-aged children and helping care for older family members, it can be difficult to get to Raleigh from Mecklenburg County.

“When a part-time legislature ends up running across much of two years, obligations become harder to plan around, particularly on short notice,” she said in a statement. “I’m grateful for the opportunity to serve, and I take the responsibility seriously to do the work well.”

Republican Rep. Tricia Cotham of Mecklenburg County missed a quarter of all floor votes. In August 2025, she announced she was taking a step back from the public eye to deal with health complications. But during this year’s short session from April to October, she was a consistent presence.

Rep. Tricia Cotham at a press conference in 2023. She has said she dealt with health complications during this two-year legislative cycle. (Kate Medley for The Assembly)

Hall also missed about 25% of the votes—not because he wasn’t in attendance, but often because he had to leave the podium to negotiate differences on bills and have conversations with colleagues off the chamber floor. 

All other members voted more than 75% of the time.

Of the state’s 170 legislators, seven haven’t missed a single vote this session: Republican Sens. Mark Hollo of Catawba County and Steve Jarvis of Davidson County; Republican Reps. Brian Echevarria of Cabarrus County and Bill Ward of Pasquotank County; and Democratic Reps. Cynthia Ball and Tim Longest of Wake County and Becky Carney of Mecklenburg County.

How Votes Broke Down

The Republican House and Senate caucuses largely voted as a monolith. 

Rep. John Blust of Guilford County bucked his party more than any of the other Republicans in both chambers. Even so, he sided with the GOP majority 96.4% of the time. Rep. Keith Kidwell, the former leader of the right-wing House Freedom Caucus who lost his primary in March, sided with his party on 97.1% of votes. 

On the Senate side, Bobby Hanig of Currituck County and Norman Sanderson of Pamlico County defied their GOP majority the most often, primarily in opposition to a proposed shrimp trawling ban. Hanig and Sanderson still stuck with the party on 97.2% and 97.8% of votes, respectively.

The 97 other Republicans in the House and Senate sided with their caucus at least 98% of the time. Reps. Larry Potts of Davidson County and Dennis Riddell of Alamance County, as well as 12 Senate Republicans, always sided with the GOP majority. Senate leader candidates Todd Johnson of Union County and Michael Lee of New Hanover County were among them.

State Rep. Carla Cunningham. (Bryan Anderson for The Assembly)

Rep. Carla Cunningham, who left the Democratic Party after her primary defeat and changed her registration to unaffiliated, was the most conservative non-Republican this session. She joined the GOP majority on 85.3% of votes. She was followed closely by Rep. Shelly Willingham of Edgecombe County at 84.7%—who also lost in March—and more distantly by Reps. Charles Smith of Cumberland County at 77.6%, Garland Pierce of Scotland County at 75.6%, and Dante Pittman of Wilson County at 74.6%.

On the Senate side, Democratic Sens. Paul Lowe of Forsyth County and Dan Blue of Wake County sided with the GOP majority the most, about 71% of the time.

Democratic Reps. Pricey Harrison of Guilford County, Marcia Morey of Durham County, and Deb Butler of New Hanover County were the most liberal members of their caucus. Harrison voted against the GOP majority on 49.7% of floor votes, followed by Morey and Butler at 43.3%.

Bryan Anderson is a politics reporter for The Assembly, covering state government and anchoring our twice-weekly politics newsletter, The Caucus. He previously covered elections, voting access, and state government for WRAL-TV, The Associated Press, and The News & Observer.