Marcel Schrotter topped the Friday Moto2 timesheets ahead of the San Marino Grand Prix, after beating Francesco Bagnaia by 0.092 seconds in FP2.
Championship leader Bagnaia ended the opening session top of the pile by over two tenths after returning to top spot late on, having set the early pace aboard his Sky VR46 Kalex.
Bagnaia hit the front in the opening stages with a 1:38.719s, and cemented top spot with a 1:38.014s set in the closing five minutes, while Gresini's Jorge Navarro slotted into second despite a tumble.
Schrotter was a couple of hundredths further back from Navarro in third, with Mattia Pasini and Bagnaia's title rival Miguel Oliveira.
11th-placed Sam Lowes suffered a heavy highside crash exiting Turn 15 in the latter stages, and was taken to the medical centre for checks. The Briton was passed fit, however, and took part in FP2.
Pasini guided his Italtrans machine to the top of the pile with a 1:38.797s in the first few minutes of FP2, with MotoGP-bound Joan Mir usurping him by two tenths.
A 1:37.875s from Pasini returned him to the top of the timesheets, but was forced into pitlane moments later due to a technical issue.
At mid-distance, Intact GP's Schrotter went fastest of all with a 1:37.763s, with Bagnaia just under a tenth outside of the German as the session reached its closing stages.
Bagnaia was unable to eat into his 0.092s deficit as the session drew to an end, leaving Schrotter to end the day fastest of all despite a late tumble at Rio.
Pasini returned to action following his early technical trouble to end the day third ahead of Mir and his Marc VDS' teammate Alex Marquez, while Luca Marini rounded out the top six on the second of the VR46 machines.
Simone Corsi [Tasca Racing] was seventh quickest in front of his home crowd, while 2016 Misano race winner Lorenzo Baldassarri headed Pons teammate Agusto Fernandez and Kiefer Racing's Dominique Aegerter – who won last year's race, but had it taken from him following a technical infringement – to complete the top 10.
Navarro [17th] and Lowes [13th] crashed for the second time on Friday in FP2, with both coming off at opposite ends of the session in the opening two corners.