McGregor made his international debut against Austria on 30 May 2007 and has thirteen international caps. McGregor was suspended for two weeks by his club, and the Scottish Football Association said that McGregor would never play for Scotland again, after multiple breaches of squad discipline following Scotland's 3–0 defeat to the Netherlands on 28 March 2009. The following year, McGregor's lifetime ban from international football was overturned by Scotland manager Craig Levein.