Sam Forencich/NBAE/Getty Images
Zach Randolph had 19 points and 12 rebounds.
PORTLAND, Ore., Jan. 21 (AP) -- Had this been last season, when the Portland Trail Blazers finished with the league's worst record, they might not have been able to hold off the Milwaukee Bucks.
That was before the Blazers got rookie Brandon Roy.
Roy had a career-high 28 points, including a late jumper that helped preserve the Portland's 99-95 victory over the short-handed Bucks on Sunday night.
The Blazers led by as many as 20 points but let Milwaukee inch back in the fourth quarter. The Bucks, however, never got closer than three points.
"We would have lost this last year,'' said Portland's Zach Randolph, who added 19 points and 12 rebounds for his 24th double-double. "This year we fought back and won.''
Earl Boykins, acquired earlier this month in a trade with Denver, had 28 points for the Bucks, who had just 10 healthy players.
After trailing 58-45 at the half, the Bucks mounted a comeback.
With 4:13 left, Boykins made a jumper from the foul line to narrow it to 88-84. Former Blazer Ruben Patterson added a free throw.
Roy's first rally-stopper came with 2:25 left, when he made a 3-pointer that put the Blazers up 93-87.
But Boykins made a 3-pointer with 36.6 seconds left to close the Bucks to 96-93. This time, Roy answered with a jumper.
"The main thing was trying to shut Brandon Roy down,'' Patterson said. "He's the one that killed us.''
Roy said the Bucks should have never come so close.
"We can't have as many mental lapses as we had tonight. It was a learning mistake - but in the past we lost those games,'' he said.
Coach Nate McMillan said Roy was the main reason the Blazers came away with the win.
"When they came back on us, he made play after play and was able to stop their streak by scoring himself on the other end,'' McMillan said. "He makes something happen.''
Milwaukee was hurting, with forward Brian Skinner (stomach virus) the latest casualty.
Michael Redd was out with a left patellar tendon strain and Maurice Williams was sidelined with a shoulder sprain. Bobby Simmons is out for the rest of the season after surgery on his heel, and Charlie Villanueva had tendinitis in his right shoulder.
Without Redd, Williams or Villanueva, the Bucks are 1-4 in their last five games. Overall, Milwaukee has lost eight of nine.
The Bucks were coming off a 99-72 loss at Seattle on Friday, the team's largest margin of defeat this season.
The Blazers lost 106-101 at Phoenix on Friday, but have won three of their last five.
Portland jumped out to a 30-20 lead at the close of the first quarter on Randolph's hook shot. They extended the lead to 42-28 on Martell Webster's 3-pointer.
Roy also had nine rebounds.
Last season's Pac-10 player of the year while finishing his senior season at Washington, Roy was acquired in a draft-day trade after the Minnesota Timberwolves selected him sixth overall.
The 6-foot-6 guard, who has been mentioned as a rookie of the year candidate, missed 20 games earlier this season with a heel injury that required he spend time in a boot.
Roy has recovered completely from the injury completely, averaging 17.3 points in his last six games.
"He's got a lot of talent,'' Randolph said of his teammate. "He needs to work hard. There's no telling what he could do.''
Bell finished with 23 points for the Bucks. Patterson had 15.
"We can't keep digging ourselves in these types of holes,'' Bell said. "We're a better team than that. We've lost a lot offensively but that shouldn't affect us defensively. If our offensive guys are out that just means we have to step it up even more and play hard.''
The Blazers finished 21-61 last season. So far this season, they're 17-25.
Notes: Patterson was called for a technical foul after arguing a call in the first quarter. ... The Bucks won the first meeting this season between the two teams, 104-95 in overtime, on Dec. 6 in Milwaukee. ... The Bucks had won three of the last four in Portland.