In an election night filled with dramatic upsets and unexpected results, six San Antonio-area incumbent judges fell to Democratic primary challengers.
Judicial races typically don’t get much attention on a crowded ballot with higher-profile races, and many voters who typically don’t vote in primaries were drawn out this year in frustration with President Donald Trump.
Among the judges who were swept out were William “Cruz” Shaw, a popular former City Council member who lost his primary reelection to a juvenile district court in Bexar County, falling to Raymond A. Villareal, a former staffer in the Attorney General’s office who recently wrote a vampire novel and took 52% of the vote in Tuesday’s Democratic primary.
“I have no clue what happened. I didn’t see my opponent at all during the campaign trail. He doesn’t practice juvenile law,” Shaw said Wednesday.
“It’s crazy. It doesn’t matter how hard you work, how much money you raise, how good of a job you do. It does not matter. Most people don’t step into a courtroom, they don’t see what we do on a daily basis, so they just vote based off name,” he said.
Other judges who lost their seats faced more clear problems with voters. For example County Court at Law No. 10 Judge Rosie Speedlin Gonzalez, who is under suspension for handcuffing a defense attorney in her courtroom in 2024, took just 35% in her two-person primary.
Speedlin Gonzalez was defeated by challenger Alicia “Ali” Perez, an immigration lawyer who co-founded the immigrants’ rights group SA Stands.
In County Court at Law No. 14, incumbent Carlo Rodriguez Key lost to an earlier-career Democratic primary challenger, Audrey Martinez, who he has accused of not living in Bexar County.
Martinez owns a home in another county, and Key sued to try to keep her off the ballot using drone footage from an investigator, according to KSAT. But Martinez says she lives in a different home on her parents’ property in Bexar County, and she took 63% of the vote on Tuesday night.
Republicans fielded a handful of judicial candidates this year, but did not get a candidate for that race, so Martinez will be unopposed in November.
In County Court at Law No. 12, longtime incumbent Yolanda Huff lost to Democratic primary challenger Lauren Zamora, who she once accused of targeting her because Black judges are easier to defeat. Zamora has denied that, and took 63% of the primary vote. She faces Republican Deborah Dietzmann in November.
In the 187th Criminal District Court, incumbent Democratic Judge Stephanie R. Boyd lost to Democratic primary challenger Stephanie Franco, who criticized Boyd for livestreaming hearings, and picked up some unusual endorsements from organized labor and law enforcement. No Republicans filed for the seat.
Incumbent Democratic Judge Michael Mery in the 144th Criminal District Court fell to former judge Michael De Leon, who had previously lost his own reelection race to Democrat Melanie Lira in the primary in 2022.
De Leon got help from the progressive bail reform group Texas Organizing Project, which spent $184,000 to help a slate of judicial, state legislative and district attorney candidates in Bexar County Democratic primaries.
TOP also helped boost Victoria Cruz through the Democratic primary to replace retiring Judge Mary Roman in County Court at Law No. 8. Cruz previously worked on the children’s Program at the Refugee and Immigrant Legal Services (RAICES), assisting unaccompanied minors in deportation proceedings.
Cruz took 68% of the vote against Cleophus Marshall, who brought many more years of experience practicing law, and will face Republican Celeste Brown in November.
A seventh incumbent, Judge Cesar Garcia in County Court at Law No. 10, was pushed to a May 26 runoff from his three-way race. Garcia took 43% of the vote to Shannon Roberta Salmón‘s 38%.
One Democrat who fought off her challenger was Judge Marisa Flores in the 224th Civil District Court. She faced former Judge Grace M. Uzomba, who was reprimanded by the State Commission on Judicial Conduct and stripped of her cases by the county’s administrative judge the last time she was on the bench.
Judge Mary Lou Alvarez in the 45th District Court defeated her challenger as well, Dinorah Diaz.
In the open County Court at Law No. 9 race, three Democrats ran to replace retiring Judge Gloria Saldaña. Criminal trial attorney Jessica A. Gonzalez won the Democratic nomination outright with 50.21% of the vote, edging out Maritza Perez-Stewart and Lizz Lane. She faces Republican Daphne Previti Austin in November.
There was also an open seat in the 226th Criminal District Court, where incumbent Republican Judge Benjamin Robertson is instead running for a bench seat in a civil district court. Anastacia “Ana” Ochoa Nelson won the Democratic primary with 53% of the vote, over Marissa Giovenco.
Democrats fight over Fourth Court of Appeals position
In the race to replace Chief Justice Rebecca Martinez, Democrats chose District Court Judge Antonia Arteaga over Place 2 Justice Velia Meza, 51%-49%.
The results mean Democrats won’t lose another seat on the Republican-controlled appellate court, because Gov. Greg Abbott would have appointed Meza’s replacement if she won in November.
Arteaga will face Republican Bert Richardson, who is retiring from a position on the statewide Court of Criminal Appeals, in the general election.
Republican runoff on the Court of Criminal Appeals
On a court where Attorney General Ken Paxton already rooted out three Republicans who ruled against his authority to prosecute voter fraud, the party has a choice whether to add more Paxton allies or go another direction.
The race to replace Richardson is down to a May 26 runoff between Alison Fox, who worked in Bexar County District Attorney’s Office as the director of the Ethical Disclosure Unit and Conviction Integrity Unit, and Thomas Smith, who worked under Paxton in both the AG’s office and his Texas Senate office.
New justices of the peace
The Democratic primary produced two new justice of the peace candidates who are running unopposed in November to fill open seats.
In Precinct 1, Justice of the Peace Sylvia Ruiz isn’t seeking reelection, and Armando Cruz Jr., a certified criminal court clerk, won the Democratic primary over Carlos Quezada, 56-44%.
In Precinct 4, Justice of the Peace Michele Garcia, a Democrat elected in 2022, declined to seek reelection while battling cancer. She died in December and three Democrats ran for the seat in the March primary.
Anna Campos, the sister of state Rep. Liz Campos (D-San Antonio), won the three-way primary with 59% of the vote. She bested Christopher McKnight and Erasmo “Raz” Hernandez.
No Republicans filed for either race.

