Match ends, Livingston 1, Rangers 1.
Rangers moved into second place in the Scottish Championship but were unconvincing against a Livingston team battling to avoid relegation.
The bottom side, seeking a fourth straight win, went ahead through a Myles Hippolyte free-kick as the game burst into life after half time.
Marius Zaliukas levelled with a glancing header seconds later.
But Rangers were unable to take advantage of the game in hand over their rivals seeking a play-off place.
The draw puts the Glasgow side one point ahead of Hibernian in second place with three games left of the regular season, while Livingston cut their deficit on Alloa Athletic to two points.
Rangers manager Stuart McCall had restored captain Lee McCulloch to his defence after suspension, but the vulnerable visitors had an early let-off when Hippolyte had a seventh-minute goal ruled out.
'Gers keeper Cammy Bell had dropped the ball into his path after coming for Jason Talbot's cross on the edge of the six-yard box, but referee Greg Aitken ruled that Bell had been fouled by Jordan White.
Rangers' only early spark came from several fireworks being let off among their fans.
Haris Vuckic put their first effort on target after 25 minutes and then escaped even a yellow card when he elbowed Talbot in the face.
Hippolyte took just 90 seconds of the second half to open the scoring when he curled home from 25 yards into the roof of the net after McCulloch had fouled White.
Rangers were level two minutes later following another set-piece, Vuckic swinging in a free-kick and Zaliukas back-heading into the far corner from 12 yards.
The visitors threatened a second when Darren McGregor had a shot beaten away by goalkeeper Darren Jamieson then Vuckic found the inside of the post.
Bell held an overhead kick from Kyle Jacobs at the other end before saving Scott Pittman's header.
Both sides had late claims for penalties denied, with Vuckic booked for simulation, but there was to be no further scoring.
- 7JacobsBooked at 85mins
- 25PittmanSubstituted forMullenat 86'minutes
- 18WhiteSubstituted forBouldingat 89'minutes
- 11HippolyteSubstituted forGlenat 81'minutes
- 10VuckicBooked at 90mins
- 22ShielsSubstituted forWalshat 80'minutes
- 18MillerSubstituted forBoydat 74'minutes
- 14ClarkSubstituted forHardieat 74'minutes
- Greg Aitken
- Shots on Target
Second Half ends, Livingston 1, Rangers 1.
Corner, Livingston. Conceded by Kris Boyd.
Corner, Livingston. Conceded by Darren McGregor.
Haris Vuckic (Rangers) is shown the yellow card.
Haris Vuckic (Rangers) has gone down, but that's a dive.
Corner, Rangers. Conceded by Darren Cole.
Substitution, Livingston. Rory Boulding replaces Jordan White.
Attempt missed. Jordan White (Livingston) header from the centre of the box is too high.
Substitution, Livingston. Daniel Mullen replaces Scott Pittman.
Keaghan Jacobs (Livingston) is shown the yellow card.
Marius Zaliukas (Rangers) wins a free kick in the attacking half.
Foul by Keaghan Jacobs (Livingston).
Substitution, Livingston. Gary Glen replaces Myles Hippolyte.
Substitution, Rangers. Tom Walsh replaces Dean Shiels.
Foul by Darren McGregor (Rangers).
Jordan White (Livingston) wins a free kick on the right wing.
Corner, Rangers. Conceded by Declan Gallagher.
Haris Vuckic (Rangers) wins a free kick in the attacking half.
Foul by Myles Hippolyte (Livingston).