• The Bobcats have won four of their last six games and snapped a six-game losing streak against the Pistons.
• Raymond Felton led the Bobcats with 23 points (12 in the fourth quarter) including the game-winning basket.
• The Pistons have lost three of their last four games and fell to 18-14 with Allen Iverson in the lineup.
-- ESPN research
A month after rallying from 29 down to nearly beat the Pistons in North Carolina, Charlotte overcame a 78-71 deficit in the final three minutes to win 80-78 on the road.
"It was like deja vu all over again, except this time we lose the game," Allen Iverson said. "We were up 78-71 in a game that we should have won easily, and we didn't get it done. That's unacceptable."
Raymond Felton scored seven points in the final 9-0 run, including a game-winning jumper with 0.7 seconds left.
"This was about stepping up and being a leader," said Felton, who led the Bobcats with 23 points. "I was just trying to get shots for my teammates, but the ball kept coming back to me, so I took the shots and they went in."
Felton said the huge rally on Dec. 13 helped the Bobcats believe when they trailed late on Tuesday.
"We showed ourselves that time that we had a lot of fight and that we wouldn't give up," he said. "We stayed in the game and this time we made the big shots."
Richard Hamilton returned after missing eight games with a groin strain, meaning the Pistons went back to a three-guard lineup despite going 6-2 without Hamilton.
"It's a simple matter of getting your best five guys out there as much as possible," said Pistons coach Michael Curry, adding that the lineup would stay the same Wednesday in Indiana.
Gerald Wallace added 18 points and 10 rebounds for the Bobcats to help Larry Brown beat the Pistons for just the second time in seven tries since leaving Detroit after the 2004-05 season.
"That was the best defensive half we've played all year, especially in the fourth quarter and down the stretch," Brown said. "We gave up 48 at halftime and 78 for the game, so we had a heck of an effort in the second half."
Rodney Stuckey scored 22 points. All five Detroit starters reached double figures, but the bench had just six points in 64 minutes.
"We got some good minutes from our bigs off the bench, and they played good defense," Curry said. "That's what we need from those guys."
After trailing by as many as 10 in the third, the Bobcats were within four early in the final period, but couldn't get enough stops to make a serious run until Felton scored five straight points to make it 78-76 with 2 minutes left.
Stuckey missed, and Raja Bell answered with a jumper to tie it. After both teams missed go-ahead shots, Rasheed Wallace was called for an offensive foul with 29 seconds left.
Hamilton fouled Gerald Wallace with 8.5 seconds to go, giving the Bobcats a chance to set up a final shot.
Felton waited until the final second, then made a 20-foot jumper. Iverson missed a desperation 3-pointer at the buzzer.
Four of Detroit's starters went to the Charlotte bench to hug Brown before the game. Wallace, Tayshaun Prince and Hamilton won a championship with him in 2004, while Iverson played for him in Philadelphia. ... Rasheed Wallace picked up his 13th technical in the third for arguing after picking up two fouls in less than a minute. He will pick up an automatic suspension if he gets to 16. "He has got to have more self-restraint," Curry said. "He owes it to the team to show that restraint."