He regressed in his last year with the Astros for 2002, appearing in just 13 games while going 3-6 with a 4.86 ERA in 74 innings while striking out 47 and walking 26. He was granted free agency after the season but signed back with the team with the intent of playing the 2003 season. However, he was released on March 27; he was signed by the Braves on April 10. He went 11-9 with a 5.43 ERA in 30 games (29 starts) and 167.1 innings pitched. He had 94 strikeouts and 59 walks (a career high). On October 28, he was released by the Braves. On January 6, 2004 he was signed by the Arizona Diamondbacks. He pitched in just one game on June 28, going two innings and allowing six runs and hits in a loss to the San Diego Padres. On October 28, he was released.