SAN FRANCISCO – Sunday's ugly 34-14 preseason loss to the 49ers at Candlestick Park could get a whole lot worse and a whole lot more meaningful depending on the results of the magnetic resonance imaging exam done on defensive tackle Kevin Williams' injured knee.

"Kevin Williams is probably the one injury we're concerned about," coach Leslie Frazier said. "Other than that, whatever we had were bumps and bruises that should be fine in time. Kevin is the one we'll take a look at [Monday]."

Williams was injured in the third quarter on a questionable cut block by Joe Looney, a second-year backup from Wake Forest.

"I was just upset that I'm getting cut 11 years in [the NFL] from a guy who I don't even know," Williams said. "I figure between the pain and the fact he cut me when I wasn't looking was my reaction."

If Williams can't play the regular-season opener at Detroit, rookie first-round draft pick Sharrif Floyd might have to start. Floyd didn't play again Sunday after having a minor procedure on his knee. He is expected to be ready for the regular season.

Christian Ballard, Williams' backup last year, is still on the reserved/left team list.

Kalil's rough outing

It was another tough night for second-year left tackle Matt Kalil.

He was beaten badly by defensive end Justin Smith on a 4-yard tackle for loss on Toby Gerhart on third-and-1. Then things got worse.

Kalil was called for two personal foul penalties six plays apart in a possession that also included a holding penalty on right tackle Phil Loadholt. He started things off by overshadowing a first-down run by Christian Ponder on third-and-7 when he pushed linebacker Michael Wilhoite to the ground from behind.

Kalil then got another 15-yarder when he pushed linebacker NaVorro Bowman after a 5-yard run by Matt Asiata. That shove came after Bowman had pushed back and forth with right guard Brandon Fusco.

"The second one, where I shoved him after the play, that's my fault," Kalil said. "The first one, I was just hustling down the field and the whistle hadn't blown yet. A couple of the refs told me they wouldn't have called it.

"The second one, I can understand. They always see the second guy, naturally. But if I see one of my teammates being pushed, I'm going to retaliate. I guess it's the result of trying to pick up the tempo a little this game. Probably a little too much, but last game I feel I was a little lackadaisical. That's what preseason is for, to learn from your mistakes."

The Peterson plan

Adrian Peterson played just two snaps, didn't carry the ball and was pulled on third-and-10 less than a minute into Sunday night's game. "It didn't surprise me," Peterson said. "I pretty much knew what the plan was going to be."

That plan, according to Frazier, was for Peterson to play three snaps and not carry the ball. He pulled Peterson one play early with the Vikings in third-and-long.

"I had made the decision way in advance of this ballgame the number of snaps he would get," he said. "We got him a chance to get a little game action and get his adrenaline going in a game situation. We got what we needed out of him."

Peterson said he's confident the offense will be fine despite its struggles during an 0-3 start to the preseason. The starters will not play in Thursday's preseason finale against the Titans at Mall of America Field.

"We have some things to build on and correct," Peterson said. "That's what the preseason is for, to get some good looks and build from there. We got two weeks ahead of us. We'll be ready to roll."

Quick hits

• Starting cornerback Chris Cook left the game in the second quarter because of a groin injury, but Frazier said it's not serious.

• With Marcus Sherels back in the Twin Cities because of his father's funeral, Bobby Felder handled all of the punt return duties. He had two returns for 40 yards, including a 30-yarder from his 7-yard line.

• Wide receiver Jarius Wright (concussion), Floyd (knee) and fullback Jerome Felton (appendectomy) also didn't make the trip.