Mike Krzyzewski knew this year's Duke team had its flaws.
Several of them hurt the Blue Devils in a big way on Friday night.
Austin Rivers and Mason Plumlee had 19 points apiece, but Duke struggled from 3-point range and lost 75-70 to Lehigh to become the second No. 2 seed to lose to a 15 during a wild day in the NCAA tournament.
The Blue Devils, who relied on the 3-point shot this season, went 6 for 26 from behind the arc and another speedy guard sliced through their defense. This time it was C.J. McCollum, who finished with 30 points.
"We're not a juggernaut or anything like that," Krzyzewski said. "We have known that throughout the whole season. You have to do it pretty precise, and we just didn't play well offensively the last few weeks of the season. Actually we got better defensively, but offensively we just weren't there."
Duke's players were stunned.
"It's just ... we all could've done more, man," Rivers said. "I never thought I'd be saying this after tonight."
Duke struggled all year long to meet its considerable standards, losing three games at home — a rarity in the Krzyzewski era. Despite the uneven play, the Blue Devils managed to stay in the top 10 in the polls.
A dramatic come-from-behind win over North Carolina on the road might have masked some problems.
But the Blue Devils missed their first nine 3-point attempts on Friday and had to play catch up for most of the game.
"These past weeks, it seems we've gone in the wrong direction and today we paid for it," said guard Seth Curry, who was 1 for 9 from the field. "We've been playing bad basketball for the past like two or three games and it showed today. They deserved to win and that's on me, personally. I didn't do my job."
Lehigh didn't do much celebrating on the court after the win, wanting to show they expected to win.
"It means a lot as a team, a family and as the Patriot League in general," McCollum said. "We wanted to come out here and protect this team and this family, get the win and we did that tonight."
Lehigh forward John Adams said it was a matter of believing in each other.
"We saw on the selection show we had Duke and we thought we could match up very well against them," Adams said. "We all believed it and we showed it on the floor. Everybody bought into that idea that we could beat them. The rest is history."
The Mountain Hawks are the sixth 15 seed overall to pull off the trick. Norfolk State edged Missouri 86-84 in the West Regional earlier in the day, and No. 13 seed Ohio knocked off Michigan to add to the madness.
Duke dropped its first tournament game for only the second time in the past 16 years, and this one occurred just 55 miles from its campus. The Blue Devils also lost their opener against 11th-seeded Virginia Commonwealth in 2007.
The Blue Devils had no answer for McCollum, the two-time Patriot League player of the year and the nation's fifth-leading scorer.
"They had the best player on the court tonight in McCollum," Krzyzewski said. "He's been their player of the year, and he's really one of the outstanding players in the country. You could see why tonight."
Lehigh (27-7) led most of the game, drawing support from North Carolina fans who borrowed brown signs from Mountain Hawks supporters that read "Go Lehigh" to root against their rivals.
"I've never seen anything like it," forward Justin Maneri said with a deep laugh. "We came to the practice the other day and as soon as you walked in they were going crazy for us and we're like, 'What's going on?' They were like, 'Go Lehigh, beat Duke!' They were screaming. It was nice to have fans here that weren't Duke. I've never seen two schools that hate each other so much."
Lehigh coach Brett Reed said before the game his team came to Greensboro to do more than just compete — and that's exactly what it did.
The Mountain Hawks led most of the first half despite shooting just 38 percent from the field.
Lehigh grabbed the lead for good at the 8:21 mark of the second half when Mackey McKnight made a 3-pointer. The momentum continued to build as the game went on and the Mountain Hawks started to pull away in the final three minutes.
McCollum hit a 3-pointer off a screen from Gabe Knutson and John Adams followed with a breakaway dunk to push the lead to 61-54 with two minutes to go.
"I told my teammates all year whenever in doubt get me the ball and I'll make a play for us," McCollum said.
Duke would get as close as three twice in the final 30 seconds, including when Quinn Cook hit a 3-pointer with 1.2 seconds left.
Duke fouled McCollum on the inbounds pass and he made up for two earlier misses from the line by hitting both shots to seal a shocking victory that sent the Greensboro Coliseum crowd into a frenzy.
The Blue Devils (27-7), who were playing without injured forward Ryan Kelly, finished the year with back-to-back losses. They lost to Florida State in the ACC semifinals.
"I've been in it for 37 years and it takes you to incredible highs," Krzyzewski said. "And it also takes you to incredible lows. And tonight's one of those lows. But it wasn't just our doing, they played that well. They played that well. And again my hat's off to them."