After failing to feature for the first team during the start of the 2007–08 season, he was sent out on a one-month loan to League Two club Mansfield Town in September 2007. He made four league starts, and manager Bill Dearden had the loan deal extended to cover a second month. However, he then lost his first-team place at Field Mill, and returned to Wednesday. He then joined Chris Casper's Bury on loan in November 2007, and remained at Gigg Lane for two months without making a first-team appearance. He was recalled by Wednesday as a back-up early into his second month with Bury. He went on to break into the first team again in February 2008, but missed the end-of-season run-in with a calf injury. He signed a two-year contract extension in May 2008. He became a first-team regular in the 2008–09 season, making 42 appearances and claiming three league goals against Preston North End, Crystal Palace, and Reading. However, he lost his first-team spot in September 2009, and later struggled with a stomach injury. He was released by new manager Alan Irvine at the end of the 2009–10 season, after he was limited to 14 appearances throughout the season. Shrewsbury Town McAllister signed a two-year contract with Shrewsbury Town in July 2010. Manager Graham Turner stated that "McAllister's an attacking, exciting player and I'm a bit surprised he was still on the market. We were a little short in midfield and with his Championship experience he could be a real gain for us." He made his first appearance at the New Meadow as a 77th-minute substitute in a 3–1 victory over Bradford City on 7 August 2010. He was named as Shrewsbury's Player of the Month for August 2010, but found first-team opportunities harder to come by in the second half of the season due to a hernia injury and the arrival of new signings Nicky Wroe and David Davies. He had an operation to correct the hernia injury in February 2011. McAllister made a return to fitness during the 2011–12 pre-season, scoring against a Manchester United XI in a 2–1 home victory in July 2011. He scored his first competitive goal for Shrewsbury when he was recalled to the starting line-up in a 2–0 win over Crewe Alexandra on 20 August. His goal came in the 23rd minute with a glancing header from Lionel Ainsworth's cross. However,