From Christian Ponder's off-target throws for Minnesota to San Diego's depleted offense to a bunch of bungled calls by the replacement officials, this was a preseason game in every way.
The Chargers at least went home happy with the way their defense is playing. The Vikings were reminded that their offense isn't ready yet for September.
Nick Novak's 45-yard field goal as time expired gave the Chargers a 12-10 victory over the Vikings on Friday after 20 penalties, 13 punts and 11 sacks between the two teams.
''Probably even more so than an emotional lift for us, it's a deflator for the opposing offense,'' said outside linebacker Larry English, who had two of San Diego's five sacks.
Well, the Vikings weren't that down. But they realized they weren't sharp. Their offensive possessions in the first half? Punt, punt, missed field goal, fumble, interception, punt, punt and, finally, a 29-yard field goal by Blair Walsh.
''I think we're a lot further along than we were last year, which is good. But we still have a ton of things to work on, obviously, after tonight,'' Ponder said.
Nate Kaeding made field goals of 50 and 54 yards for the Chargers (No. 16 in the AP Pro32) and Novak, who filled in last season when Kaeding was hurt, kicked two of his own.
Charlie Whitehurst started instead of Philip Rivers at quarterback for the Chargers, who had a scare in the third quarter when first-round draft pick Melvin Ingram limped off in pain after trainers looked at his left leg. But the outside linebacker from South Carolina was only diagnosed with a deep thigh bruise.
Sage Rosenfels threw a late touchdown pass to Matt Asiata, who lost one of three Vikings fumbles earlier in the second half. His was at the San Diego 2-yard line. Lex Hilliard and Derrick Coleman (at the San Diego 18) also coughed up the ball, and Ponder showed his inexperience while throwing an interception. He finished 9 for 16 for 115 yards.
Ponder managed to throw a spot-on 40-yard completion to Percy Harvin while Ingram tried to take him down by the shoulder, but many of his other passes were erratic.
The worst one was in the second quarter when he pivoted to throw to Harvin on an out route toward the sideline without looking away first. Both Greg Gatson and DeAndre Presley were there, and Presley came down with the interception after they bobbled it together but kept it from touching the turf on their way down.
''They ran it the first drive. Then I slipped and missed the pick, and this time the quarterback just stared the route down and I just jumped in front of it,'' Presley said.
The most encouraging development for the Vikings (No. 29 in the AP Pro32) was probably in pregame warmups, when running back Adrian Peterson took part in drills to continue to ramp up his rehabilitation. He's close to returning from reconstructive surgery on his left knee. The Vikings, though, lost promising rookie cornerback and punt returner Josh Robinson to a possible concussion in the second quarter. Mistral Raymond, in line to start at safety, hurt his back before the game and didn't suit up.
The Chargers rested quarterback Philip Rivers and tight end Antonio Gates, and the left side of the offensive line was out with injuries: center Nick Harwick (concussion), guard Tyronne Green (foot) and tackle Jared Gaither (back). All-Pro defensive end Jared Allen gave undrafted rookie Mike Harris, Gaither's replacement, all he could handle with two first-half sacks. Middle linebacker Jasper Brinkley had two sacks as well.
''Whoever they put on the field, we've just got to defend them. That was our whole mindset, whether Rivers played or Gates played or not,'' Brinkley said.
Running back Ryan Mathews (collarbone) and wide receivers Antonio Brown (ankle) and Eddie Royal (groin) have been out too. The Chargers are barely averaging 2 yards per rushing attempt in the preseason. Rookie Edwin Baker led the way with 35 yards on 13 carries.
Whitehurst insisted getting hit a few times was welcomed.
''I don't think that I went to the ground at all last game. I got hit a few times. It felt pretty good,'' he said.
Ponder's interception was originally ruled an incompletion, as Hilliard's fumble was declared down by contact first. Both calls were overturned after the Chargers challenged on a busy night for the replacement officials crew led by referee Wayne Elliott. There were 11 penalties in the first half alone on the Chargers. Allen, at least, wasn't worried about the quality of the officiating.
''I got a holding call tonight. That was awesome. So I'll take it,'' Allen said.
Follow Dave Campbell on Twitter: http://www.twitter.com/DaveCampbellAP
Online: http://bigstory.ap.org/NFL-Pro32 and http://twitter.com/AP-NFL