Sen. Ron Johnson (R-WI) told reporters Thursday that he’ll be voting to advance Republicans’ health care bill, the end of a months-long odyssey in which he made varying and seemingly contradictory objections to the emerging plan.

On Capitol Hill, Johnson has gained a reputation for his sometimes confusing complaints about Senate Majority Leader Mitch McConnell’s Better Care Reconciliation Act, Republicans’ vehicle to repeal and replace Obamacare.

However, he sounded on Thursday like he’s now firmly in McConnell’s corner — suggesting that Republicans have at least one fewer defection to worry about as they look to get to 50 votes to pass their bill.

“What we wound up with — [in] my judgment — is continuous improvement. If I vote yes, I think I’ll be able to convey that and certainly explain to my supporters why I did it and how it will help the folks of Wisconsin,” Johnson said.

His sudden embrace of the bill is difficult to reconcile with his previously strident criticisms of the GOP’s Obamacare repeal effort. In March, for instance, Johnson panned the House version of the bill for its dramatic cuts to its subsidies for low-income people on the exchanges. (The new version of the bill released Thursday still reduces that financial assistance compared with Obamacare.)

More recently, Johnson went on the radio and seemingly tore into Republicans’ congressional leadership for advancing the bill on a partisan basis. (The new version of the bill is unanimously opposed by Democrats and includes zero bipartisan input.)

Similarly, he has condemned the speed with which McConnell has tried rushing through the bill, saying he won’t vote for something unless he can “make sure that my constituents have enough time to provide input." He said that it was “a little offensive” that McConnell wanted to “jam this through” so quickly. Johnson said he will vote to advance the bill next week, just days after its release, and told reporters he didn’t need to wait for a score from the Congressional Budget Office before a vote.

Most recently, Johnson began attacking the bill from the opposite end of the ideological spectrum, aligning himself with conservatives like Sens. Ted Cruz (R-TX) and Mike Lee (R-UT) who say it doesn’t go far enough to repeal Obamacare. In a New York Times op-ed, Johnson said:

Our priority should be to bring relief, and better, less expensive care, to millions of working men and women. Unfortunately, the Senate Republican alternative, unveiled last week, doesn’t appear to come close to addressing their plight. Like Obamacare, it relies too heavily on government spending, and ignores the role that the private sector can and should play.

To be sure, Senate conservatives were glad to see that the new bill would again allow insurers to discriminate based on preexisting conditions. And Johnson did acknowledge that McConnell’s bill wasn’t his ideal solution, saying he wanted “something that worked a whole lot better,” though he didn’t specify exactly what that would be.

“From my standpoint, I would have fully repealed Obamacare and fully replaced it with something that worked a whole lot better,” he said. “That’s not where we’re at right now.”

But it may be still hard to square Johnson’s months-long public criticisms of the bill with his apparent plan to vote for it. Asked what he supports in the bill, the senator pointed in part to the bill’s cuts to Medicaid. These cuts would in fact save Medicaid patients in the long term, Johnson said, by protecting the long-term solvency of the Medicaid program. The CBO has estimated that the original bill would cost tens of millions of people their insurance, but Johnson argued that by ending Obamacare’s Medicaid expansions, the bill would wind up doing more to save Medicaid for patients.

“One of the things that I think is really mistaken in some of the fearmongering out there is that people who get Medicaid in Wisconsin are afraid they’re going to lose it. What puts their Medicaid at risk is Medicaid expansion,” Johnson said.