Philipp Oettl topped the opening day of Moto3 practice ahead of his home round of the German Grand Prix at the Sachsenring, with Tony Arbolino 0.042 seconds adrift on the combined times.
Jorge Martin opened up the weekend with the fastest lap of the first 40-minute practice session, the Gresini man two tenths clear of the field with a 1:27.272s.
The championship leader took control of the FP1 timesheets early in the session with a 1:27.771s, which he improved upon with a string of quick laps in the closing stages.
Martin stamped his authority with a 1:27.311s to put him eight tenths out of reach, with his 1:27.298s edging him further away from the rest.
CIP's John McPhee slashed Martin's advantage at the end when he guided his KTM to a 1:27.497s, slotting in ahead of home favourite Oettl on the Schedl GP machine.
Enea Bastianini ended the morning fourth fastest ahead of Ajo KTM's Raul Fernandez, replacing the injured Darryn Binder.
Seventh-placed Aron Canet led the early part of the afternoon session on his EG 0,0 Honda, the Spaniard setting the pace at 1:27.843s, which he duly improved to a 1:27.778s next time around.
However, his second lap was cancelled as he exceeded track limits exiting the Waldmann corner, with FP1 pacesetter Martin seizing control with a time 0.001s quicker than Canet.
Martin edged a tenth clear with his next effot of 1:27.771s, which he followed up with a 1:27.602 with 28 minutes of the session remaining.
Spots of rain appeared halfway through FP2, though these mercifully amounted to nothing and more improvements on laptimes were able to be had.
Martins 1:27.602s stood as the benchmark until the final 12 minutes, when Canet eased to a 1:27.177s.
Oettl deposed both with a 1:26.938s in the closing three minutes, while Martin was just 0.002s adrift with his final lap.
However, Martin's 1:26.940s was scrubbed as he ran wide exiting the Waldmann corner, dropping him to third behind Arbolino, who fired in a 1:26.984s on his Snipers Honda.
McPhee leaped up the order to fourth at the end with a 1:27.074s, while Marcos Ramirez headed Canet to complete the top six on Friday's combined times.
Gabriel Rodrigo was seventh on his RBA KTM, with late faller Albert Arenas on the Nieto KTM, Prustel GP's Jakub Kornfeil and the sister Gresini machine of Fabio Di Giannantonio rounding out the top 10.
Wildcard Ai Ogura was the other crasher in FP2, the Japanese rider going down early on at the Sachsen Kurve.
He ended the day 23rd, with fellow wildcard Luca Grunwald down in 30th. Avintia new boy Vicente Perez, who replaces the ousted Livio Loi, was 24th.