James Brown has signed for St Johnstone from Millwall on a two-year deal after enjoying "a very special experience" at the Perth club last season.
The 23-year-old defender had a loan spell at McDiarmid Park in the second part of the 2020-21 campaign and played his part in Saints winning an historic and remarkable League Cup and Scottish Cup double.
Brown is delighted to be back in Perth until the summer of 2023 and he told the club's official website: "Being a part of St Johnstone last season was a very special experience and winning the cup double was absolutely incredible.
"As soon as the gaffer (Callum Davidson) made it clear he wanted me I was excited to get a deal done. I wanted to come back for more.
"We have now completed everything and I thank the gaffer, the chairman (Steve Brown) and Scott Boyd for putting a contract offer to me.
"The pre-season work is now well under way and we are all looking forward to getting the friendly games started ahead of our opening Premiership clash at Ross County.
"We also have European football to look forward to and we can't wait for the draw later this month to see who we get.
"This is a great time to be at St Johnstone and I will push myself every step of the way to play my part.
"The gaffer and his coaching staff are great to work for. There is a first-class work ethic and they strive to improve all of the squad.
"The team spirit is also special and it's a pleasure to come in here every day."
St Johnstone signed 19-year-old Millwall defender Hayden Muller on a season-long loan on Wednesday.