Il revient dans la LNH pour la saison suivante, une saison sans séries, puis il signe une prolongation de contrat avec le Wild en pour une nouvelle année mais ne reste avec la franchise du Minnesota que jusqu'au milieu de la saison 2006-2007. En effet, l'équipe l'échange le après quarante-huit matchs aux Rangers de New York en retour de Adam Hall. Il inscrit un but lors de son premier match avec les Rangers mais ne joue que six rencontres avec la formation de New York avant d'être échangé, avec le futur choix du troisième tour des Rangers au repêchage 2007, aux Thrashers d'Atlanta en retour d'Alex Bourret. Une fois encore, il marque son premier but lors de son premier match avec les Thrashers. Au printemps, il prend part aux quatre premiers matchs de l'histoire des Thrashers en séries éliminatoires, amassant un but et trois points malgré les quatre défaites de son équipe contre les Rangers. Dupuis commence la saison 2007-2008 avec Atlanta mais il change une nouvelle fois d'équipe le . Il est échangé en compagnie de Marián Hossa aux Penguins de Pittsburgh en retour de Colby Armstrong, Erik Christensen, Angelo Esposito et d'un choix de premier tour au repêchage de 2008.