Stirling Albion have inflicted Rangers' first defeat in the Scottish third division, beating them 1-0 through a goal from their captain Brian Allison.
It was Stirling who took an early lead after just eight minutes through Allison, who scrambled the ball into the back of the net from a corner.
Rangers nearly found an equaliser on 11 minutes through a corner themselves. It was Lee McCullock who came close, heading wide of the post from Fraser Aird's delivery.
Two minutes later, McCulloch had another chance when the ball was cut back to him on the edge of the area, but the forward's strike went just wide.
Tempers started to flare between the two sides when Aird was given a yellow card for a challenge on David McClune.
After 23 minutes, Aird and McCulloch combined again when the former's curled cross was glanced past the goalkeeper and off the inside of the post by the former Wigan Athletic player.
Aird threatened once more, running at the home side's defence and creating an opening, though he dragged his shot wide.
Stirling missed the chance to make it 2-0 on 36 minutes when Ian Black's lapse in concentration allowed them to break, but the forward line could not capitalise.
Rangers broke away on 39 minutes when McCulloch fed the ball through to Anestis Argyriou. However, the Greek winger couldn't find the finish and drove it past the post.
The half-time whistle went with Rangers dominating proceedings, but still 1-0 down to Stirling.
Ally McCoist's side flew out of the traps early in the second half and, after 46 minutes, Black had a chance from a corner, but his effort was well blocked.
Dean Shiels had an excellent chance two minutes later, but his half volley was saved well by the goalkeeper.
Aird then cut in from the left-hand side and got a shot away, but it was off target.
Rangers thought they had equalised on 53 minutes when Sebastien Faure's header was cleared off the line.
Shortly after, Rangers claimed for a penalty when Kieran McAnespie brought down Shiels. The referee ignored the protests from the Rangers players, though.
Rangers continued to press the home side as they went in search for an equaliser, though they could not break down a resilient Stirling side.
The full time whistle blew with the score at 1-0.