On September 27, 2005, the Milwaukee Bucks signed Barrett to an undisclosed free agent contract.[2] He participated in eight preseason games with the team, however, he was waived prior to the start of the 2005–2006 season on October 27.[3] Starting on March 1, 2006, Barrett signed two consecutive 10-day contracts with the Phoenix Suns, but he was released from his second contract on March 14. The following day, Barrett signed two consecutive 10-day contracts with the Toronto Raptors, with whom he averaged 15.8 minutes per game. On July 13, 2006, he was waived.
In the 2006 NBA D-League Expansion Draft, held on September 25, 2006, the Bakersfield Jam selected the signing rights to Barrett with their first draft pick.[4] The previous season, he represented another team from the league, the Florida Flame.
On October 2, 2006, he was signed by the Chicago Bulls.[5] The following season, on October 22, the Bulls waived Barrett,[6] who then returned to the Jam for the 2007–08 season. On February 25, 2008, he was traded to the D-League club the Austin Toros in exchange for Justin Reed.
On March 1, 2008, he signed a 10-day contract with the NBA's Los Angeles Clippers.[7] When his contract expired, it was not renewed; they signed Smush Parker instead.[8]
On October 10, 2013, Barrett signed with the Memphis Grizzlies.[14] However, he was waived on October 26.[15]
On October 31, 2014, Barrett's rights were traded from Sioux Falls to the Westchester Knicks in exchange for a third-round pick and the rights to Brady Morningstar.[16] He officially joined the Knicks on November 3, 2014.[17] On April 3, 2015, he was ruled out for the rest of the season after suffering a thumb injury.[18]