Match ends, Reading 0, Bolton Wanderers 0.
Andy Lonergan pulled off several late saves for Bolton as they stretched their unbeaten run to five matches with a goalless draw at Reading.
Glenn Murray and Jordan Obita missed early chances in a poor first half.
Tim Ream's close-range header forced a good save from home goalkeeper Adam Federici before Michael Hector missed three good chances for the Royals.
Darren Pratley went close for Bolton and Lonergan made a stunning one-handed save late on to deny Danny Williams.
The result means Bolton move up to 17th in the Championship, while Reading remain in 14th.
Max Clayton flashed a low centre across the face of the home goal early on but no team-mate was on hand to provide the vital touch.
Reading responded quickly from an Obita corner on the right which Hector nodded on, but Murray was unable to get a clean connection at the far post and headed tamely wide.
Obita should have done better when latching onto a Garath McCleary cross but showed poor control and the chance went begging.
Reading tried to up the tempo as the half wore on, with McCleary taking too long over a shot from outside the area, which was blocked, and Oliver Norwood firing a 20-yard free-kick harmlessly over.
Just before half-time, another Obita corner ricocheted among a mass of bodies until landing at Murray's feet, but his close-range effort struck McCleary and rebounded to safety.
Tim Ream's close-range header was well kept out by Federici, before Reading launched a fierce assault.
In the space of only a few minutes, centre-back Hector missed three good chances - nodding over an Obita corner, slicing a shot wide and then being denied by Lonergan's agile save from his firm header.
Bolton also counter-attacked swiftly, as Pratley went close with a powerful cross-shot and Ream missed the target when unguarded at the far post.
But Bolton were again indebted to Lonergan near the end when he made a superb save to keep out a stinging 25-yard attempt by Williams.
Reading manager Nigel Adkins:
"We had more than enough opportunities to win the game. We looked a massive threat, especially from set-pieces.
"We were dominant going in at half time but, afterwards, we just couldn't get that all-important goal that probably changes the mood of everyone."
Bolton manager Neil Lennon:
"It's never easy coming to a stadium again after such a defeat as that [last season's 7-1 loss]. But we showed plenty of character today.
"We played very well in the first half without really hurting Reading. At times, on the counter-attack, in the second half, we were very good. We just missed the final pass or the finish."
- 12McClearySubstituted forBlackmanat 78'minutes
- 6NorwoodBooked at 61mins
- 23WilliamsSubstituted forTaylorat 85'minutes
- 11ObitaBooked at 82mins
- 20MurrayBooked at 73mins
- 9Robson-KanuSubstituted forCoxat 68'minutes
- 18DannsSubstituted forSpearingat 90'minutes
- 7FeeneySubstituted forHallat 90'minutes
- 28DaviesSubstituted forWilkinsonat 57'minutes
- Keith Hill
- Shots on Target
Second Half ends, Reading 0, Bolton Wanderers 0.
Foul by Matt Mills (Bolton Wanderers).
Glenn Murray (Reading) wins a free kick on the left wing.
Substitution, Bolton Wanderers. Robert Hall replaces Liam Feeney.
Substitution, Bolton Wanderers. Jay Spearing replaces Neil Danns.
Attempt missed. Glenn Murray (Reading) header from the centre of the box misses to the right. Assisted by Oliver Norwood with a cross following a corner.
Corner, Reading. Conceded by Josh Vela.
Attempt blocked. Simon Cox (Reading) left footed shot from outside the box is blocked. Assisted by Jake Taylor with a headed pass.
Offside, Bolton Wanderers. Andy Lonergan tries a through ball, but Conor Wilkinson is caught offside.
Substitution, Reading. Jake Taylor replaces Daniel Williams.
Attempt missed. Dorian Dervite (Bolton Wanderers) header from the centre of the box misses to the left. Assisted by Max Clayton with a cross following a corner.
Corner, Bolton Wanderers. Conceded by Daniel Williams.
Jordan Obita (Reading) is shown the yellow card for a bad foul.
Max Clayton (Bolton Wanderers) wins a free kick on the right wing.
Foul by Jordan Obita (Reading).
Delay over. They are ready to continue.
Attempt saved. Daniel Williams (Reading) right footed shot from outside the box is saved in the bottom right corner. Assisted by Jordan Obita.
Substitution, Reading. Nick Blackman replaces Garath McCleary.
Matt Mills (Bolton Wanderers) wins a free kick in the defensive half.