However, his career soon started to become sour and, after failing to score a single goal, he was loaned back to Reading. He began the 2009–10 season better, scoring twice, but was then loaned out again this time to Middlesbrough. He returned to Stoke in January 2010 but continued to struggle and, after manager Tony Pulis branded him 'petulant', he was allowed to join Portsmouth as part of a swap deal for Marc Wilson. He spent two seasons at Fratton Park but agreed to cancel his contract with Portsmouth in August 2012 with the club in danger of being liquidated, and subsequently joined Sheffield United on a short-term deal, before signing a two-year contract at Oxford United in June 2013.