He began his career at home-town club Derry City and made nearly 150 league appearances for the team before moving to English Football League side Carlisle United, following financial difficulties at Derry. He spent two seasons with the club, which included an appearance in a Football League Trophy Final, after which he was released and returned to Northern Ireland with Portadown. He captained the side and eventually left after his contract expired in 2006, when he rejoined Derry for a second spell. He featured for the side in the UEFA Cup and UEFA Champions League and attracted the attention of several Scottish Premier League clubs, before eventually joining York City in the Conference National in 2007. After leaving York in 2009 he rejoined Portadown, who released him in 2011. He is now currently coaching for York City in the Community.