ORCHARD PARK, N.Y. -- It didn't matter to Daniel Bullocks whether he was facing the Buffalo Bills' second- and third-string offense.
The Detroit Lions safety was eager to make a case to regain his old starting job while playing in his first game in nearly a year since tearing a ligament in his right knee.
"The knee, it felt good," Bullocks said happily after the Lions' 14-6 preseason-ending win Thursday night. "After I made a few tackles, I felt like Daniel Bullocks is back."
Bullocks, the Lions' 2006 second-round pick, finished with five tackles, including his first one, a touchdown-saving takedown of third-string quarterback Gibran Hamdan on the Bills' opening drive.
"It was good to get that tackle out of the way, because it gave me more confidence," Bullocks said.
Coach Rod Marinelli was impressed.
"I didn't see him an awful lot, but I felt him," Marinelli said. "You can hear him hit, and you can feel his hits. So that was great for us to get him out there."
That -- and the Lions closing the preseason with an NFL-best 4-0 record -- were among the few highlights to come out of a game that was a glorified scrimmage even by NFL exhibition standards.
The Bills (2-2) played one starter, safety Ko Simpson. The Lions played seven, including Jerome Felton, the starting fullback, who scored on a 9-yard reception from Dan Orlovsky, the backup quarterback in a game in which both teams were only interested in resting their starters for the regular season.
Otherwise, it was a sloppy game that featured numerous dropped passes, several illegal formation penalties and even two safeties. Detroit's Shaun Cody tackled running back Dwayne Wright in the end zone late in the first quarter, and Langston Moore sacked Hamdan late in the second.
Bills coach Dick Jauron defended his decision against playing his starters, saying there were numerous youngsters he wanted to see play before making his final cuts on Saturday.
That might be true, but the quality of opposition on both sides left much to be desired.
The Bills opened with an offense that had 17 years of combined NFL experience.
As far as position battles went, Wright had a terrible game. Besides the safety, the Bills' 2007 fourth-round pick fumbled for the second time this preseason, another setback in his attempt to beat rookie Xavier Omon for the third-string job.
Jauron provided a cautious assessment of Wright, who also lined up offside on a punt.
"We like him as a runner, but you can't keeping laying (the ball) on the ground," Jauron said.
Omon finished with a team-best 32 yards rushing, while rookie receiver Steve Johnson had eight catches for 74 yards.
Hamdan finished 18-for-26 for 158 yards, but left the game early in the fourth quarter, when he was shaken up after being sacked by Cliff Avril. Backup J.P. Losman took over on the Bills' final drive, earning the biggest cheer from the few fans that remained. Buffalo, though, ran out the clock with rushing plays.
Orlovsky finished 12-for-21 for 114 yards and a touchdown, while recently signed Drew Henson played the Lions' final series, completing the one pass he attempted for 11 yards.
Lions running back Artose Pinner made a case to make the cut, finishing with 78 yards rushing after fourth-stringer Brian Calhoun, who started on Thursday, left with a thigh injury. Also hurt was backup safety Greg Blue (hamstring) while rookie second-round pick, linebacker Jordon Dizon, left the game late in the third quarter complaining of cramps.
Marinelli felt it important to rest his starters, including receivers Roy Williams and Calvin Johnson, quarterback Jon Kitna and even rookie running back Kevin Smith.
As for finishing the preseason with a perfect record, Marinelli provided a one-word answer to what that meant: "Nothing."
Bills reserve LB John DiGiorgio left the game with sore ribs, while recently converted LB Jon Corto sustained a concussion. ... Bills PK Rian Lindell hit 32- and 45-yard field goals. ... The Lions went undefeated in the preseason for the fifth time, and first since going 4-0-1 in 1993.