Conor McGregor will fight Nate Diaz in Las Vegas on 20 August at UFC 202, it has been confirmed.

Diaz caused an upset when defeating McGregor by submission at welterweight at UFC 196 in March, and the Dubliner has been pushing for a rematch ever since.

The pair were due to meet at UFC 200 next month but that was scrapped after McGregor was dropped from the card for not fulfilling promotional duties in Las Vegas – instead deciding to remain at a training camp in Iceland.

McGregor remains UFC's featherweight champion, but is determined to avenge his defeat to Diaz at 170lbs - the Crumlin man's only UFC defeat.

Many have been critical of the 27-year-old's decision to fight again at 170lbs, but McGregor told ESPN: "What kind of fighter would I be if I said, 'Hey, I didn't get you at 170, let me try to get you at 155'? I'll make my adjustments. I ate up to the weight. This time, I won't do that."