Another Saturday afternoon, another frustrating Sunderland performance, three points in their graps but two of them lost
They were bright in much of their attacking play but chronic in defending their own box.
One goal gifted to the opposition from a goalkeeping error, another because they could not stop and then defend a cross.
Mathematically they are not yet relegated but their fate is sealed.
With this latest missed opportunity they are right on the brink.
That Sunderland found themselves behind at the break reflected a season where simply nothing has gone right.
They created chances, opened up Reading on a number of occasions, but there was no cutting edge and a shocking error in their own box.
Callum McManaman started the game with Lynden Gooch out injured, and he was a threat throughout the half. He had the first meaningful effort of the game when Ashley Fletcher chased a long ball into the corner. His pass inside was cleverly back heeled by George Honeyman, but the onrushing McManaman could only curl it wide.
Sunderland looked bright and tenacious, but found themselves behind from Reading's first meaningful attack.
Lee Camp looked to have to situation covered when he dove to collect Mo Barrow's weak effort, but after fumble he was too slow to gather the loose ball, bringing down Jon Dadi Bodvarsson.
Liam Kelly stepped up to score an emphatic penalty.
Sunderland responded well, but through a combination of bad luck and poor finishing, couldn't get back on the scoreboard.
Ashley Fletcher made a good run into the channel and struck the post with a deft effort. McManaman raced onto the loose ball and struck the ball sweetly, Liam Moore somehow heading away from goal as he backpedalled.
The Sunderland winger was convinced he should have had a penalty moments later as he was brought down in the box, but nothing was given. He would twice more go close before the break, the balling dropping wide of the far post on both occasions.
It looked ominous at the break, but Paddy McNair threw his team another lifeline within minutes of the second half starting.
There looked to be little danger to Reading as he advanced in their half, but a stunning long-range effort flew into the top corner. Vito Mannone, loudly serenaded by the Sunderland support throughout, barely moved.
The Black Cats now had a real head of steam, unaffected by Bryan Oviedo's withdrawal due to injury. They pushed for a second and nearly found it when Aiden McGeady beat two defenders and stood up a cross from the left-hand side. Lee Cattermole met the ball but could only head over.
Stung by their woeful start to the half, Reading began to press more aggressively and it almost paid dividends when Swift played Aluko in with a delightful through ball.
Aluko beat Clarke-Salter to the pass but sliced his effort over the bar.
It proved crucial, Sunderland ahead in the next meaningful phase of the game.
McManaman did well to win a free-kick, and McGeady stepped up to deliver a wicked ball. Cattermole beat his man and despite getting a hand to it, Mannone couldn't prevent it creeping over the line.
They nearly had a third when Honeyman pounced on a poor pass to release Fletcher, but on his weaker foot he could only shoot wide.
Fletcher went close again when he met substitute Joel Asoro's cross, but the shot was blocked and Reading were level shortly after.
Clarke-Salter could not stop the cross from the right and Yann Kermorgant, not long on the pitch, towered above Donald Love to head home.
Bedlam ensued in stoppage time as both sides pushed for a winner.
Lee Camp made a fine save before Barrow somehow couldn;t connect with a header from just yards out.
Asoro went close for Sunderland at the other end before the referee blew for time, and surely ended Sunderland's hopes of surviving this division.
Sunderland XI: Camp; Love, Kone, Wilson, Oviedo (Clarke-Salter, 47); Cattermole, McNair, Honeyman (Maja, 81); McManaman (Asoro, 75), McGeady, Fletcher
Subs: Lualua, Robson, Stryjek, Ejaria
Reading XI: Mannone, Gunter, Ilori, Moore, Richards (Blackett, 65); Edwards, Kelly (Kermorgant, 72); Barrow, Swift, Aluko, Bodvarsson
Subs: van den Berg, Clement, Martin, Jaakkola, Rinomhota
Bookings: Swift, 85 Love, 90
Attendance: 17,348 (1,412 away)