Ed Sheeran surprised attendees at the iHeartRadio Music Festival on Saturday, Sept. 21, when he brought out Macklemore to perform 'Same Love.'

'Same Love' is off Macklemore & Ryan Lewis' breakout album, 'The Heist,' and was originally recorded as a duet featuring Macklemore and Mary Lambert. The song has been praised for its message of taking a stance for gay and lesbian rights.

Macklemore appeared on stage to a crowd of cheering fans, as he rapped his part on 'Same Love' while Sheeran did the vocals originally recorded by Lambert.

In addition to 'Same Love,' Sheeran also did a mash-up of his hit 'Don't' with Blackstreet's classic track 'No Diggity' and Chris Brown's 'Loyal.'

Sheeran recently wrapped up his solo North America tour and heads back to the U.K. for the iTunes Music Festival on Sept. 29.

Celebrities Who Look Like '90s Nick Toons