Roger Federer set up a last-16 clash against Rafael Nadal at the BNP Paribas Open with a hard-fought win over Steve Johnson.
The 18-time grand-slam champion was below his best but still proved too good for Johnson in a 7-6 (7-3) 7-6 (7-4) win at Indian Wells on Tuesday.
Federer tried to get himself going throughout the third-round clash, but his American opponent and 24th seed stuck with him in two tight sets.
However, the Swiss maestro set up another meeting with great rival Nadal, their first since their enthralling Australian Open final in January.
Federer came out the winner at Melbourne Park, but still trails the Spanish great 23-12 in their head-to-head.
He will need an improved performance to the one he delivered against Johnson, with both players unable to break serve.
Federer always looked the more likely winner, but both players struggled to create chances against serve throughout the first set.
After four-time champion Federer took the opener in a tie-break, he squandered four break points in the second game of the second set.
Needing another tie-break, Federer clinched it once more despite giving up a 4-2 lead, setting up a meeting with Nadal in the loaded quarter of the draw.