Anglik dalej nie był podstawowym zawodnikiem Newcastle United i pod koniec sierpnia 2004 roku został wypożyczony na cały sezon do Barnsley. Był tam podstawowym graczem; wystąpił w 39 meczach Football League One, w których strzelił 17 bramek. Zdobył również dwa hat-tricki. Po powrocie do Newcastle grał tam jeszcze przez jeden sezon i 16 czerwca 2006 roku kupiło go Cardiff City.
W nowym klubie pierwszy raz zagrał 5 sierpnia w meczu z Barnsley. Tydzień później w spotkaniu z Coventry City strzelił pierwszą bramkę. Od początku był podstawowym graczem Cardiff City. W całym sezonie zagrał 42 razy oraz zdobył 22 gole, w tym jednego hat-tricka.
Po sezonie 2006/2007 za kwotę 5 milionów funtów przeszedł do Sunderlandu. W klubie tym zadebiutował 11 sierpnia 2007 roku w meczu z Tottenhamem Hotspur. Zdobył wówczas również bramkę. W całym sezonie 2007/2008 zagrał ponad 30 razy i strzelił osiem bramek.