Inverness extended their unbeaten run to eight games with a 3-0 win over Rangers at Ibrox in their Scottish League Cup quarter-final.
Former Ger Andrew Shinnie came back to haunt his old club with the opener on 27 minutes, with a Gary Warren header and Graeme Shinnie penalty ensuring victory.
Rangers crafted plenty of chances but the lack of a killer touch in front of goal ended their hopes of back-to-back cup successes over Premier League opposition.
Dean Shiels and Lee McCulloch went close for the hosts early on but they needed a fine save by Neil Alexander to deny Billy McKay as Inverness settled.
Rangers' best chance of the first half fell to Lewis MacLeod on 16 minutes after a Lee Wallace break, but Antonio Reguero was equal to his shot.
After another MacLeod chance went begging, Rangers fell behind when Aaron Doran threaded a ball through to Andrew Shinne, who slotted his eighth goal of the season.
Rangers responded positively, Chris Hegarty flashing a header inches over the bar, while Shiels had a penalty claim waved away.
McCulloch squandered another opportunity after the break and Rangers were punished for their profligacy on 58 minutes when poor defending saw Warren head home from a corner.
Inverness made it three after Anestis Argyriou felled Andrew Shinnie in the area. Brother Graeme made no mistake from the spot to book their place in the semi-finals of the competition for the first time.