Rangers slipped up once again at home against a team from the bottom half of the league.
St Mirren took the lead through a cracking drive from Richard Brittain, but the home side quickly drew level with a Kris Boyd header.
Despite being pushed back for most of the second half Rangers created few clear cut chances, though Boyd may have made better use of a couple which came his way.
The home fans expressed displeasure with boos at the end and any credit from this match must go to the visitors.
St Mirren started well and won several free-kicks in dangerous positions before taking the lead.
Mark Corcoran, who proved a handful for the Gers defence throughout, weaved past two defenders before cutting the ball back to Brittain on the 18-yard line, who lashed his shot home into the top corner.
It was probably as well for the mood of the home support that Rangers equalised soon after.
Charlie Adam's in-swinging corner was met by Boyd on the six-yard line and he bulleted his header home.
Shortly afterwards Boyd should have put Rangers ahead. Libor Sionko latched on to a mistake by Andy Millen, before intelligently laying the ball off to Boyd, but the striker's shot was blocked by keeper Tony Bullock's legs.
Adam's free-kick from 25 yards hit the top of the bar, though St Mirren were unlucky when Brittain's effort was just too high.
Rangers claimed a penalty early in the second half when Nacho Novo appeared to be held back by Kirk Broadfoot, but their claims were waived away.
Novo pulled his shot wide from a good position before Boyd flicked a cross just wide, but the Saints held on without any further scares.