Bath have released Gavin Henson to join Bristol with immediate effect and have signed London Irish utility back Tom Homer in his place.
Henson, 33, was due to move to the Championship side in the summer but has made the switch four months early.
The Wales international has not made an appearance for Bath since November.
The Premiership club have replaced Henson with 24-year-old Homer, who has made 83 league appearances since graduating through the Irish academy.
Like Henson, Homer can play at full-back, centre and wing, while also taking on kicking duties from the tee.
Bath head coach Mike Ford said: "Tom is an incredibly talented young player and he's got a great attitude that will fit in well with the squad here and our policy of recruiting young, English talent.
"He already has a huge amount of experience, given he's only 24, and we're really looking forward to seeing him continue developing as a player here at Bath."
Henson arrived at Bath from London Welsh in the summer of 2013 and made 15 starts and 19 appearances from the bench.
Bristol will be the ninth club of Welshman's career and he will be available to play in the remainder of the Championship season.
The Ashton Gate side are currently second in English rugby's second tier, one point behind leaders Worcester, with the top four teams all entering an end-of-season play-off competition to win promotion to the Premiership.