Queens Park Rangers lost ground in the Sky Bet Championship play-off race with a 1-0 defeat at struggling Reading.
The Hoops took an age to get going in a patchy first-half display and were indebted to goalkeeper Joe Lumley for fine saves to deny Ovie Ejaria and John Swift in the same incident.
But they went behind in the 52nd minute, when Lumley was helpless to stop a stunning long-range drive from midfielder Swift.
Despite a frantic late rally, QPR were unable to find the leveller.
Rangers sat in fourth place in October following a 2-2 draw with Reading at Loftus Road. Yet a poor run of only two wins in 11 matches had dented their hopes of reaching the end-of-season play-offs.
QPR started slowly and were unable to make any significant headway into the home area.
Reading had more of the possession but were also struggling to create any clear-cut openings.
Rangers were then fortunate not to go behind, with Lumley having to make a superb double save.
Charlie Adam released Chris Gunter with a clever pass and the Wales international crossed the ball low into the QPR area. Ejaria's powerful initial drive was parried away by Lumley but not far.
Swift latched onto the rebound but, from his fierce shot, Lumley was again equal to it and diverted it so safety.
Rangers tried to get going but, from a free-kick in a dangerous position, Ebere Eze blazed high over the home crossbar.
Then followed a better spell from the visitors, with Marc Pugh having an effort blocked and Jordan Hugill nodding wide.
Hugill tapped in from close range shortly afterwards from a Bright Osayi-Samuel cross but was adjudged to have been offside.
As Rangers improved towards the break, skipper Grant Hall sent a header wastefully off target from an Eze corner.
Reading began brightly in the second period, with Lucas Joao ruled narrowly offside after a raking pass from Charlie Adam.
Rangers responded with a penetrating run from Osayi-Samuel until he was crowded out by the home defence.
But QPR fell behind seven minutes after the interval when they failed to adequately clear an Adam corner. Swift pounced with a rasping 25-yard half-volley that flew past Lumley.
With the game becoming more open, Joao twice squandered headed opportunities from fine Gunter crosses.
Eze could also have equalised but his six-yard flick was cleared off the goal-line by Michael Morrison.
And Rangers were unlucky in the closing stages, when substitute Ilias Chair thumped a 20-yarder against the crossbar and Reading goalkeeper Rafael saved well from Hugill as he followed up.
Rafael then made a wonderful point-blank stop from Hugill in the last minute, with the ball bouncing off his head.