Everyone was waiting for it to happen. Most had probably thought the time had already passed.

When was Iowa going to look like the team it was just 12 months ago? Was that hard-nosed, gritty team that wore down opponents in trenches and gutted out tight wins week-in-week-out ever going to make an appearance?

It did on Saturday, when the Hawkeyes stunned No. 3 Michigan in Kinnick Stadium on a last-second field goal b Keith Duncan. For 60 minutes, that team that finished last season 12-0 was back on the field and grinded out a victory against one of the nation’s best teams.

That win looks like it will be the high point for the Hawkeyes this season. It’s a pretty good consolation prize for a team that hasn’t lived up to the preseason hype. And while fans are still dancing around cloud nine after Saturday, there has to be some level of frustration beneath this week’s jubilation.

Consistency has been an issue this season. That may be the understatement of the year.

RELATED: After Knocking Off Michigan, Iowa Dominates ‘B1G Player Of The ‘ Awards

Iowa hung 42 on in-state rival Iowa State for its most commanding win of the season only to turn around a week later and see the hopes of another undefeated season evaporate on a game-winning kick from North Dakota State.

A home loss to Northwestern a few weeks later was discouraging, especially after taking a second half lead against the Wildcats. The Hawkeyes played tough against a talented Wisconsin team, falling 17-9, only to suffer a blowout loss to Penn State in Happy Valley a week later. The 41-14 defeat was the worst loss since falling 51-14 to Minnesota in 2014.

Then Kirk Ferentz coaches his best game of the year and Iowa beats the best team on its schedule.

Go figure.

Pinpointing the cause for the unsteady play isn’t easy, but there is a common denominator. All four of Iowa’s losses this season have been directly related to how poorly it’s run the football.

With LeShun Daniels Jr. and Akrum Wadley returning to the backfield, C.J. Beathard under center and a highly-praised offensive line, this was suppose to be one of the certainties for the Hawkeyes this year. Rushing was going to be the strong point of Greg Davis’ offense. There were too many weapons for it not to be an effective way to move the football.

And, at times, the ground game has been successful. The Hawkeyes tallied 365 yards and four TDs against Purdue. Wadley racked up 107 yards against Minnesota and Daniels rushed for 112 yards on 15 carries against Iowa State.

Iowa rushed for 164 yards against a Michigan defense that was allowing just 107 yards per contest heading into last weekend.

So, yes, Davis’ offense has had its moments.

But there’s also been some major lapses too. Here’s a look at what Iowa’s rushing numbers look like in its four losses this season:

Opponent Rushing attempts Rushing yards Yards per carry
North Dakota State  25 34 1.4
Northwestern 41 79 1.9
Wisconsin 27 83 3.1
Penn State 26 30 1.1
Total 119 226 1.9

Those aren’t pretty. And still, the Hawkeyes were contenders in three of those contests.

Does it make a little more sense, now? How a team that was 12-0 last season could revert back to a middle-of-the-road B1G squad despite so much production returning to the field?

Last year, the Hawkeyes didn’t have any trouble running the football during the regular season. They averaged 203.7 yards per game in the regular season, eclipsing the century mark in all 12 contests. Though Jordan Canzeri emerged as the lead ball-carrier (984 yards, 12 TDs), he had help from Daniels Jr. and  Wadley, who combined for 1,142 yards and 15 TDs.

But guess what?

In last year’s postseason losses in the B1G Championship and Rose Bowl,  the Hawkeyes rushed for 52 yards against Michigan State and 48 against Stanford.

Nov 12, 2016; Iowa City, IA, USA; Iowa Hawkeyes quarterback C.J. Beathard (16) hands the ball to Iowa Hawkeyes running back Akrum Wadley (25) during their game with the Michigan Wolverines at Kinnick Stadium. Iowa beat Michigan 14 to 13. Mandatory Credit: Reese Strickland-USA TODAY Sports

This isn’t a phenomenon unique to just this season, it’s been a common characteristic of Ferentz’s teams for at least the past decade. Think about this: Iowa hasn’t won a game when its rushed for fewer than 100 yards since 2011 (0-13).

During that stretch, Iowa has fielded some of the conference’s best defenses. Quarterbacks like Ricky Stanzi, James Vandenberg and Jake Rudock have all spent time under center. None of that mattered, not unless the rushing total exceeded triple digits.

RELATED: Week 12 B1G Power Rankings: A Shakeup At The Top?

Nothing has changed this season.

With two games left on the season, Iowa can still get to eight wins and punch a ticket to a respectable bowl bid. This week sets up nicely, taking on Illinois in Champaign. The Illini rank 11th in the B1G against the run. Daniels and Wadley could be in for a big afternoon.

At the very least, they need to combine for 1oo yards on Saturday. If not, Iowa’s going to follow its most impressive win with its most embarrassing loss.