Johnny Mullins' Rotherham career came to an end on Monday after boss Steve Evans told the skipper he wasn't in his plans.
The 27-year-old fans' favourite played an instrumental role in the Millers rise from League Two last season, captaining the side as they won their final five games to seal a second-placed finish.
But having had only a limited part in the pre-season programme he has been sold for an undisclosed fee to Oxford, where he enjoyed a successful loan spell last term following a falling out with Evans over his lack of first-team action.
Mullins, capable of playing right-back or centre-back, has signed a three-year deal at the Kassam Stadium and Evans suggested the defender was lured by the security of a long-term contract and the prospect of regular action.
"There was no pressure on Johnny from us to leave," Evans said. "He was allowed to go to Oxford on the basis that if he'd have said, 'I want to fight to get in the team at Rotherham', then he'd have come back and been involved.
"From the player's point of view the three-year contract offered was good for him and his young family.
"Johnny is a top professional and an excellent player but with the form from the likes of Kari Arnason, Craig Morgan and Claude Davis we could not guarantee him a place on a regular basis."
Mullins, who was the Millers' longest-serving player, leaves New York after making 109 appearances and is surprised to find himself back in League Two.
"Having fought so hard to get Rotherham up last season, I wasn't planning on playing in League Two again," he told Oxford's official website.
"It's nice to be at a club where you're wanted, so I am pleased with that."