Il évolue avec l'Avalanche durant sept saisons malgré un passage d'un an en Allemagne pour le club de Iserlohn Roosters dans le championnat allemande pendant le lock-out 2004-2005 de la LNH. Le , il est échangé aux Maple Leafs de Toronto en retour d'un choix de deuxième tour au repêchage 2012.