When Sunderland's Premier League status hangs by a thread, missed chances simply cannot be stomached.
A first half defensive error from Patrick van Aanholt left Sunderland empty-handed from Sam Allardyce's return to former club West Ham after winger Michail Antonio took full advantage.
But it was the succession of spurned opportunities after the break which will have left Sam Allardyce seething in the East End, when Sunderland could - and should - have claimed at least a share of the spoils.
As was the case in the 1-0 defeat to Manchester City earlier this month, Sunderland were their own worst enemies.
Jermain Defoe and Jack Rodwell (twice) had gilt-edged chances to find the net, yet couldn't take them, as they suffered a 'what might have been' defeat which they can ill-afford at this stage of the campaign.
The opening 20 minutes was pretty awful as a spectacle, yet Sunderland were then indebted to a stunning save from Vito Mannone for keeping the scoreline goalless.
Manuel Lanzini surged inside off the left wing and teed up Mark Noble, 25 yards out, who hit a sweetly-struck right-footed drive.
The ball was heading for the top corner, but Mannone produced a finger-tip parry to divert it onto the underside of the bar, before bouncing away.
That effort finally kicked the game into life, with Hammers keeper Adrian fortunate to escape when he was caught doing kick-ups by Wahbi Khazi, only for the Tunisian's block to spin harmlessly away from goal.
Then in the 23rd minute, Khazri curled in a free-kick from the right which had Adrian at sixes and sevens, but the ball bounced off the top of the crossbar.
But it was the Hammers who went ahead on the half-hour mark after the previously subdued Michail Antonio was able to ghost past Patrick van Aanholt far too easily on the right-hand touchline, following a botched clearance from the left-back.
As he came into the box on the angle, Antonio curled the ball into the far corner, with Mannone left stranded on his line.
Antonio produced another audacious effort in the 38th minute when he cushioned the ball out of the air 20 yards out and hit a half-volley towards the near post, which Mannone was able to push behind.
West Ham old boy Jermain Defoe spurned a glorious opportunity to draw Sunderland level just two minutes after the restart.
Lee Cattermole's ball over the top sent Defoe in behind the Hammers defence, but with only Adrian to beat, the 33-year-old's half-volley was poor as he sent it a couple of yards wide.
But Sunderland began the second half in a more positive fashion going forwards, with Allardyce's men able to enjoy more of the ball in the West Ham half.
All they were able to manage in terms of goal efforts though were a couple of wayward shots from van Aanholt and Yann M'Vila.
Substitute Jack Rodwell then spurned a golden chance to level in the 74th minute after a brilliant pass from the impressive Jan Kirchhoff picked out DeAndre Yedlin in behind the Hammers defence.
Yedlin pulled it back for Rodwell, 12 yards out, but his shot was saved by the legs of Adrian.
Moments later, Sunderland were saved by the woodwork for the second time at the other end of the pitch.
Sam Byram headed a raking crossfield pass into the path of substitute Andy Carroll, but the ex-Newcastle United striker's rasping volley crashed back off the underside of the bar.
Rodwell had another clear-cut opportunity in the 79th minute after Khazri's cross wasn't properly dealt with by Byram.
The ball fell invitingly to Rodwell, but his shot was deflected over the top after an excellent recovery tackle from Byram.
Seconds later, Dame N'Doye drew a save out of Adrian after his low effort from the far left-hand side of the area was pushed away by the keeper, with Sunderland unable to make anything of the rebound.
West Ham: Adrian, Byram, Collins, Ogbonna, Cresswell, Noble (Obiang 82), Kouyate, Antonio, Payet, Lanzini (Moses 65), Emenike (Carroll 59). Subs not used: Randolph, Henry, Oxford, Song, Obiang. Booked: Byram (71)
Sunderland: Mannone, Yedlin, O’Shea, Kone, van Aanholt, Kirchhoff, Cattermole (Rodwell 65), M’Vila, Khazri, N’Doye, Defoe. Subs not used: Pickford, Larsson, Borini, Kaboul, Toivonen, Jones.