Britain’s Cameron Norrie is through to his second successive semi-final after defeating Adrian Mannarino at the Los Cabos Open in Mexico.
Norrie, who also reached the last-four stage in Atlanta last week, defeated the fourth seed and world No 25 6-4 6-4.
It will be his third ATP World Tour semi-final, after reaching the semi-final in Lyon earlier in the season, and he will now meet second seed and world No 15 Fabio Fognini.
The 22-year-old broke his French opponent to love for a 3-2 lead in the first set before assured serving saw him take the initiative.
Norrie maintained his momentum to break Mannarino in successive service games, in between losing his serve for the first time, before a composed service hold to love secured victory.
World No 4 Juan Martin del Potro will meet Bosnia’s Damir Dzumhur in the other semi-final.
Seven-time Grand Slam champion Venus Williams saw off the challenge of British No 2 Heather Watson 6-4 0-6 6-0 to reach the third round of the Silicon Valley Classic in California.
After the opening two sets were traded, it was Williams who produced a ruthless performance in the final set to book a meeting with Maria Sakkari.
Meanwhile, Katie Boulter suffered a three-set defeat to American qualifier Allie Kiick in the second round of the Citi Open in Washington D.C.
Boulter trailed 6-4 4-4 when the match resumed but the 21-year-old secured a third break of serve in the second set to force a decider.
But Kiick dominated proceedings in the final set, breaking three times against the Briton to win 6-4 5-7 6-1.
Live ATP Tennis
August 3, 2018, 7:00pm
Get Sky Sports Get a Sky Sports pass
We have the US hardcourts covered from all angles via our website at skysports.com/tennis. On the move? Head to our app for mobile devices and iPad, or follow our Twitter account @SkySportsTennis to join in the conversation.
Never miss the big kick-off or have to deal with interrupted games or low-quality streams with a NOW TV Sky Sports Pass this summer. You’ll get exclusive coverage of the Ryder Cup, ATP Tour and loads more, starting from just £7.99. No contract.