SAN FRANCISCO – Uh-oh.

Things were supposed to get better with Adrian Peterson back in the Vikings' lineup, right? Rhythm was supposed to be achieved, miscues corrected, protection improved, frowns turned upside down, etc., etc. Right?

Right!?

Well, scratch that. And scratch Peterson actually touching the ball in a preseason game that was billed as the most thorough and final dress rehearsal for the regular season.

Final at Candlestick Park: 49ers 34, Vikings 14. And if you think that's an ugly line, it could get even worse depending on the results of a magnetic resonance imaging exam that's due to be performed on Vikings defensive tackle Kevin Williams' injured knee on Monday.

Peterson did suit up and play two snaps in his preseason debut but was pulled on third-and-10. Coach Leslie Frazier said afterward that the plan was to play Peterson only three plays and not have him carry the ball. The Vikings threw twice with Peterson in the game, using him as a play-action fake on an opening deep-ball incompletion to Greg Jennings.

"We got out of him what we wanted," Frazier said of Peterson.

In seven possessions with Ponder at quarterback, the Vikings went fumble, punt, punt, punt, a 1-yard touchdown pass to rookie free-agent fullback Zach Line on a 28-yard field set up by Chad Greenway's interception, interception and a 3-yard touchdown pass to Joe Webb, who outjumped a defender on third-and-goal late in the third quarter. That capped a 12-play, 75-yard drive and ended Ponder's night. He completed 17 of 23 passes for 116 yards, two touchdowns and two turnovers.

Afterward, as the Vikings assessed their 0-3 preseason record and the fact that the starters won't play in the preseason finale Thursday night against the Titans, Ponder, Frazier and others inside the losing locker room clung to that 12-play drive that opened the second half, hoping it's some sort of positive sign.

"We didn't do as well as we would have liked, but we ended on a positive note," Ponder said. "There are some things we still need to get a lot better at, but I have no worries about the leadership on this team and the maturity on this team that we'll fix it."

Frazier said he came away from that drive encouraged about the direction in which the team was heading.

Hey, what else is he going to say?

"There were some things solidified in my mind finishing that drive in the third quarter as we get ready for the regular season," Frazier said. "I do have some resolve about some things I saw."

Defensively, the Vikings gave up 10 first-quarter points with 49ers starter Colin Kaepernick on the field. Special teams-wise, the Vikings gave up a 105-yard kickoff return for a touchdown by Lavelle Hawkins. That came late in the first half and squashed any momentum the Vikings mustered by closing the deficit to three points, 10-7, on Line's second touchdown catch of the preseason.

The Vikings seemed to be putting something together on their third possession when they gained 4 yards on an end-around to Cordarrelle Patterson and a 5-yard pass to Patterson. Then, lined up in their power-I formation with Rhett Ellison at fullback, the Vikings … showed no power whatsoever. Defensive end Justin Smith tossed aside tackle Matt Kalil en route to mauling Gerhart for a 4-yard loss on third-and-1.

Punt … again. And it wouldn't be Kalil's first gaffe of the night. Two unnecessary-roughness penalties in a span of six plays helped sink yet another first-half possession. A holding call on right tackle Phil Loadholt one play after that didn't help either.

The 49ers started to click offensively after Smith's mauling of Gerhart. Backup running back Kendall Hunter went 15 yards through a huge hole created in part because of middle linebacker Erin Henderson's poor angle. Then Kaepernick completed consecutive passes of 19 yards on third-and-11 to Quinton Patton, 10 and 11 yards to tight end Vernon Davis and 19 yards to Marlon Moore. Kaepernick capped the 11-play, 84-yard drive with a 5-yard touchdown on third-and-goal to Moore, who beat cornerback Josh Robinson on a crossing pattern in the back of the end zone.

The 49ers led 10-0 with 2 minutes, 39 seconds left in the first quarter. And that was it for Kaepernick, his night finished after completing seven of 13 passes for 72 yards, no sacks, no turnovers and a 95.7 passer rating.

But, hey, the night wasn't a total loss. With 13:04 left in the game and two fans running free from security guards on the field, Vikings receiver Jerome Simpson stepped off the sideline and appeared to trip or push a guy to the ground. If nothing else, it helped bring a quicker end to a dismal night.