Grigor Dimitrov has been eliminated from the Rogers Cup after suffering a second-round defeat to Jack Sock.
The 14th seed had appeared on course for victory but Sock fought back to run out a 4-6 7-6 7-5 victor in two hours and 28 minutes.
The first set went with serve for the opening 10 games, but Dimitrov struck to establish a one-set lead with the first break point of the match.
The second was equally tight, but after missing out with three break-point opportunities, Sock held his nerve during a tie-break to take the match into a decider.
The American looked down and out after falling a break behind, but he struck back with his first break of the encounter to level the set at 4-4.
A match point for Sock came and went in the 10th game, but at the second time of asking, he was able to get over the line to set up a last-16 showdown with Novak Djokovic.