RB Leipzig have secured the loan signing of left-back Angelino from Manchester City, who returns after spending the second half of last season with the Bundesliga outfit.
The 23-year-old will spend the entire 2020-21 campaign on loan with Leipzig and will potentially stay on a permanent basis.
The season-long loan will include an appearance-based obligation to buy for an €18 million (£16m/$21m) fee.
Angelino must make 12 appearances for RB Leipzig to trigger the purchase obligation, and five of those 12 must come in the second half of the season.
Should that threshold be met, Leipzig would land the Spaniard on a four-year deal until 2025.
After spending the first half of the season with Man City, Angelino made 18 competitive appearances on loan last season for RB Leipzig, scoring one goal and adding five assists.
Angelino was an ever-present in the knockout phase of the Champions League, with Leipzig making a run to the semi-final where they fell to Paris Saint-Germain.
"I'm delighted to be staying in Leipzig and that we carry on our journey together," Angelino told RB Leipzig's official website.
"My first six months with RBL have been amazing; I got lots of game time straightaway and I really like the coach and the team's approach.
"We also had really successful Bundesliga and Champions League campaigns. I'm very much looking forward to the future and lots more success."
Angelino initially joined Man City's youth setup in 2013, and has also spent time on loan with New York City FC, Girona, Mallorca, NAC Breda and PSV.
"Angel hasn’t needed much time to settle in with us and he’s understood our brand of football from the start," RB Leipzig sporting director Markus Krosche added.
"He did really well in the Ruckrunde and also helped us achieve our goals in the Champions League. He’s made a great impact with us. That’s why we’re so pleased that he’ll be wearing an RB Leipzig shirt for at least another season."
After finishing third in the Bundesliga table last term, RB Leipzig kick off their 2020-21 league campaign on September 20 when they host Mainz.