In December 2001 Murray joined Oldham Athletic, where he spent three and a half years, before he joined Portuguese club Beira-Mar. He re-joined Carlisle United in the close-season of 2006 after their promotion to League One, and scored against Doncaster Rovers in the opening game of the 2006–07 season. This was the first match for new manager Neil McDonald. He was released by the club in May 2007.
With his contract expired at Gretna, Murray turned down a number of clubs to move south of the border and join League Two side Shrewsbury Town in May 2008, alongside former team mate Stephen Hindmarch. After two years at the club he was released on 14 May 2010.
He joined up with Hartlepool United on trial in the summer of 2010 and signed a short term deal with the club in August 2010. Murray extended his contract with Hartlepool and won their player of the year trophy in the 2011–2012 season. Murray was released by Hartlepool midway through the 2012–2013 season, and re-signed by Oldham Athletic on a contract until the end of the season, returning to the club after almost nine years.