At the end of the 1905–06 season he moved to Southern League Brighton & Hove Albion and spent two years there.
In May 1908 he returned to Woolwich Arsenal after they sold Ashcroft to make ends meet, and MacDonald was an ever-present for the entire 1908–09 season, and only missed two games of 1909–10.
He left Arsenal in July 1910 for Oldham Athletic, spending one season there before moving to Bradford Park Avenue.
In December 1912 he returned to Arsenal for a third time, making him, apparently, the only player to have played for the club in three separate spells.
He saw out his career with first Fulham and then Bristol Rovers, before World War I intervened and ended competitive league football.