SEATTLE (AP) -- On a sore ankle filled with bone spurs, Ray Allen believed he could have scored more than 34 points.
Considering that a day earlier Allen's season was in question, 34 was plenty.
Allen missed Thursday's game against the Los Angeles Clippers when he first revealed publicly he'd been bothered by his left ankle for most of the season. An exam on Friday diagnosed Allen with bone spurs, but the seven-time All-Star practiced on Saturday and decided to play against Charlotte.
If the ankle was bothering Allen it was hardly noticeable, and he upstaged rookie Adam Morrison's return home.
"It was odd because I can sit here and tell you I probably could have scored more than 34 tonight. There was a lot of easy shots that I missed," Allen said. "I think those are the moments where I was moving a little gingerly in my foot."
But it was a swift spin by Allen that put the finishing touches on Seattle's fifth straight home win.
With Seattle leading 93-89 and less than two minutes remaining, Raymond Felton missed inside on a tough drive for Charlotte. In transition, Allen drove, spun under the basket on Morrison and twirled up a left-handed layup while being fouled to put Seattle up 96-89 with 1:25 left. Charlotte then failed to get off a quality shot on either of its final two possessions.
Allen scored 10 points in the final seven minutes, after scoring 21 in the first half. Rashard Lewis carried the scoring in the second half for Seattle with 20 of his 28 points. Earl Watson finished with 10 points and 10 assists.
"Ray just does what he has to do to help us win games," Seattle coach Bob Hill said. "He played great and didn't look like he was suffering any pain in his ankle."
Gerald Wallace scored 19 points and had nine rebounds, but the Bobcats lost their fifth straight. Morrison, playing his first game back in the state where he was a college star at Gonzaga in Spokane, added 17 points off the bench on 5-for-12 shooting.
Morrison was given a loud ovation when he entered the game in the first quarter, and many in the stands were wearing Gonzaga shirts or his No. 35 Charlotte jersey.
"I'm appreciative of all the fans, most not being from Spokane but some of them are, cheering for me and showing support," Morrison said. "That was cool."
Morrison could only stand by as Allen took over down the stretch after Charlotte had rallied from a 12-point deficit early in the second half.
With Seattle trailing 81-80, Allen hit his fifth 3-pointer, then followed up with a baseline fadeaway and two free throws for an 87-85 lead.
The lead was 91-87 after a pair free throws by Watson with 2:19 left, but Morrison cut down the lane for a two-handed dunk with 2:11 to go. It was Charlotte's last points.
Lewis dribbled through the lane and flipped in a left-handed scoop and Allen followed with his three-point play.
"They were shots of difficulty," Charlotte coach Bernie Bickerstaff said.
Allen may eventually need surgery on his ankle, but he was nearly perfect in the second quarter. Allen made five consecutive shots, including a 3-pointer, two mid-range jumpers and a pair of explosive drives to the rim.
Allen's streak was broken only when he had to force a deep 3-pointer as the shot clock expired.
"I just tried to listen to (my ankle), take the shots that I had, and move and not put too much pressure on it," Allen said.
Morrison only had to get seven tickets for the game. Other friends and family that attended bought their tickets when the schedule was released last summer. ... Seattle G Luke Ridnour left in the first half with pain in his neck and did not return. ... Seattle's Watson (6-foot-1) won a jump ball with Charlotte's Primoz Brezec (7-foot-1) in the third quarter and then blocked Brezec's shot about a minute later.