A következő évadban is sikerült megtartania helyét a csapatban, Roy Carroll leigazolása ellenére is. 2008 márciusában lejátszotta 100. bajnokiját a Rangers színeiben, a Hibernian ellen. Csapata bejutott a Skót Ligakupa döntőjébe, ahol tizenegyespárbaj döntött. McGregor két tizenegyest hárított, ezzel győzelemhez segítve csapatát. A Celtic elleni rangadón 1-1-es állásnál, sérülten kivédett egy büntetőt, de röviddel utána le kellett cserélni és a szezonban nem játszhatott többet, így a Skót Kupa döntőjét és az UEFA-kupa-döntőt is ki kellett hagynia.