Dani Pedrosa led Marc Marquez in a Honda one-two in the second MotoGP practice session at Le Mans.
The afternoon featured constant position changes among the frontrunners as the teams made the most of what could be their last dry running before race day, if forecasts for Saturday are accurate.
Rain and hail had curtailed the preceding Moto3 session, but the track was virtually dry for the MotoGP bikes from the outset, although dark clouds gathered with increasing intensity through the session.
Morning pacesetter Pedrosa put himself back on top going into the closing stages.
He could not quite break into the 1m33s, despite edging ever nearer with a string of low 1m34s laps, and ended up on a 1m34.035s.
That increased his lead to 0.134 seconds, bigger than it had been for the most of the final runs, as Marquez jumped up to second on his last lap.
Yamaha men Valentino Rossi and Jorge Lorenzo were third and fourth.
Stefan Bradl put LCR's Honda fifth, within the same tenth of a second as the works Yamahas.
After Ducati's strong morning, Andrea Dovizioso and Nicky Hayden slipped back to seventh and eighth, behind Cal Crutchlow's Tech 3 Yamaha.
Aleix Espargaro returned to the top of the CRT field in 10th overall.
Among the prototype riders he beat was Andrea Iannone, who had the session's main incident when he crashed heavily at the last corner.
Although Iannone walked away, he appeared to be in pain, having undergone surgery to cure arm pump in the fortnight since Jerez.
Pos Rider Team/Bike Time Gap Laps 1. Dani Pedrosa Honda 1m34.035s 21 2. Marc Marquez Honda 1m34.169s + 0.134s 18 3. Valentino Rossi Yamaha 1m34.173s + 0.138s 21 4. Jorge Lorenzo Yamaha 1m34.201s + 0.166s 16 5. Stefan Bradl LCR Honda 1m34.299s + 0.264s 20 6. Cal Crutchlow Tech 3 Yamaha 1m34.512s + 0.477s 20 7. Andrea Dovizioso Ducati 1m34.578s + 0.543s 20 8. Nicky Hayden Ducati 1m34.590s + 0.555s 20 9. Alvaro Bautista Gresini Honda 1m34.739s + 0.704s 19 10. Aleix Espargaro Aspar Aprilia 1m35.045s + 1.010s 18 11. Bradley Smith Tech 3 Yamaha 1m35.362s + 1.327s 19 12. Andrea Iannone Pramac Ducati 1m35.433s + 1.398s 13 13. Randy De Puniet Aspar Aprilia 1m35.447s + 1.412s 20 14. Michele Pirro Ducati 1m35.864s + 1.829s 17 15. Hector Barbera Avintia FTR 1m35.940s + 1.905s 16 16. Colin Edwards Forward FTR 1m36.449s + 2.414s 18 17. Claudio Corti Forward FTR 1m36.643s + 2.608s 16 18. Karel Abraham Cardion Aprilia 1m36.759s + 2.724s 18 19. Danilo Petrucci Ioda-Suter 1m36.764s + 2.729s 20 20. Hiroshi Aoyama Avintia FTR 1m36.821s + 2.786s 19 21. Yonny Hernandez Paul Bird Aprilia 1m37.104s + 3.069s 18 22. Bryan Staring Gresini FTR-Honda 1m37.878s + 3.843s 18 23. Michael Laverty Paul Bird PBM 1m38.023s + 3.988s 15 24. Lukas Pesek Ioda-Suter 1m38.818s + 4.783s 15