Jorge Lorenzo led second practice for MotoGP's German Grand Prix, outpacing Ducati stablemate Danilo Petrucci by a little over a quarter of a second at the Sachsenring.
Lorenzo left it late to move to the top of the timesheets at a track that has traditionally been one of Ducati's weakest venues, setting his best effort of 1m20.885s with two minutes left in the 45-minute session.
Up to that point, it had been Honda's Marc Marquez - unbeaten at the Sachsenring in MotoGP - who led the way, with the Spaniard quickly beating his own benchmark from first practice.
His lap of 1m21.349s held as the quickest of the session until the closing moments, and a lurid save at the plunging downhill Turn 12 left-hander meant he failed to improve on his best time.
As well as Petrucci, who was 0.257s adrift of Lorenzo on the Pramac Ducati, both Andrea Iannone (Suzuki) and the second works GP18 of Andrea Dovizioso bettered Marquez's time.
Behind the reigning champion was Maverick Vinales on the best of the Yamahas, 0.499s off the pace, and Takaaki Nakagami, a surprise seventh-quickest aboard the LCR Honda.
Jack Miller (Pramac), Cal Crutchlow (LCR) and Alvaro Bautista (Nieto Ducati) completed the top 10.
Some way off the pace was the second factory Yamaha of Valentino Rossi, who languished down in 17th place, 0.899s slower than Lorenzo and a place behind the lead Tech 3 machine of Hafizh Syahrin.
Johann Zarco fared even worse on the second Tech 3 Yamaha, ending one place behind Rossi.
Dani Pedrosa could do no better than 20th on the second Repsol Honda, while Marc VDS stand-in Stefan Bradl was 21st in his first official MotoGP session since Valencia 2016.
Mika Kallio suffered a major crash at the Turn 8 left-hander on the third-string KTM, as he went into the gravel and then hit the air fence along with his bike with some force.
The Finn has been taken to the medical centre for further checks.
Xavier Simeon (Avintia Ducati) was the only other rider to crash during the session, and was slowest of all in 25th, one place behind Kallio.