James Rhodes will remain Clackamas County sheriff after defeating Undersheriff Brad O'Neil with nearly 53% of the vote in the Nov. 3 general election.

The result, first reported by The Oregonian, ends a heated contest that split the county's law enforcement establishment and tested whether voters would ratify the Board of Commissioners' decision to install Rhodes as interim sheriff this summer.

Rhodes, 55, was appointed to the nonpartisan post after former Sheriff Angela Brandenburg announced her retirement in July. Brandenburg had said one of her top managers would serve as interim, but the board rejected that plan. In a 4-1 vote, commissioners chose Rhodes, who had retired from the sheriff's office in 2021. Board Chair Craig Roberts, Rhodes' former boss as sheriff, cast the lone no vote.

The race quickly became a contest over credentials and loyalties.

Rhodes had the backing of the Clackamas County Peace Officers Association (CPOA), the union representing deputies and agency employees. The four commissioners who supported his appointment also endorsed him: Paul Savas, Diana Helm, Ben West and Martha Schrader.

Clackamas County District Attorney John Wentworth endorsed him as well, The Oregonian reported in September.

O'Neil, 48, won endorsements from the two most recent former sheriffs, including Brandenburg and Roberts. Lake Oswego Mayor Joe Buck and Milwaukie Mayor Lisa Batey also backed O'Neil, according to September reporting by The Oregonian.

Both candidates are longtime sheriff's office veterans. Rhodes started with the agency in the late 1990s and briefly held the undersheriff title before records show he was demoted to captain in 2019 under Roberts' leadership.

He retired in 2021 and collects a state pension of about $106,000 annually, The Oregonian reported. O'Neil started with the office in 1995 and serves as undersheriff.

Rhodes' state law enforcement certification lapsed after his retirement. He said during the campaign he would undergo the six-month recertification process if elected, The Oregonian reported in September.

Money and the budget gap

Rhodes outraised his opponent. He collected $102,000 in campaign contributions and loaned himself an additional $40,000, according to The Oregonian's election-night reporting.

O'Neil raised about $62,000, including roughly $23,000 in in-kind donations.

The winner inherits a significant budget shortfall. Voters rejected a five-year, $203 million public safety levy in May that would have raised a typical homeowner's taxes by about $60 per year.

County commissioners have signaled they will try again next spring, though the amount has not been settled.

Rhodes called passing a new levy a top priority during the campaign. He also pledged to cut agency spending, reduce the number of undersheriffs from three to two and accept a salary of roughly $223,000, about 8% less than the position's $241,387 annual pay, The Oregonian reported.

The unofficial county results show 149,256 ballots were cast in the sheriff's contest, with 23,000 undervotes. Final certified totals have not yet been released.