Alexander Zverev won the first set but failed to overcome Juan Martin del Potro in the third round of the Shanghai Masters on Thursday.
The Argentine won 3-6 7-6 (7-5) 6-4 in one hour and 55 minutes to set up a quarter-final meeting with John Isner or Viktor Troicki.
But for the world No.4 Zverev it was a win that got away.
The 20-year-old went for it often and all over the court, hitting 46 winners (including 22 aces) but conceding 32 unforced errors.
Zverev all but handed the match to del Potro when he dropped a crucial service game midway through the fifth set, hitting a cross-court backhand into the net.
And he didn't handle it well, smashing his racquet on court, breaking it with his foot and smashing it again -- twice -- after reaching his seat.
The chair umpire handed Zverev a code violation and a warning.
It was del Potro's only break of serve for the match as the world No.23 held strong to close out the match five games later.