I’m a great fan of Lightroom’s Auto Sync feature which allows you to adjust multiple images simultaneously – it’s simply the most efficient way to work in Develop.

But I always add that if you do use Auto Sync you’ve also got to keep your head screwed on, because it’s equally easy to unintentionally apply an adjustment to lots of pictures. So I recommend:

  • Leave Lightroom in Auto Sync mode all the time
  • Keep the Film Strip visible so you can see how many images are selected
  • Switch to normal mode when you need, do what you need to do, and then return to Auto Sync
  • Don’t keep switching it on and off – it’s important to know you’re in Auto Sync mode
  • If you find you simply can’t work this way, don’t use Auto Sync

Mistakes do happen though. Lightroom’s Undo feature often lets you recover from your error – at least if you notice the problem while Lightroom is still open – but things are tougher if you close the program. For example, imagine you had applied the same white balance to a variety of pictures in different lighting conditions, then re-opened Lightroom and noticed your error. The History panel lets you go back one History step, but it’s only applicable to one picture at a time. So you’d have to go through every picture. It could take some time.

There is a solution, but it is only for those with some technical skill, and all the credit for this belongs to the Moldovan photographer Dorin Nicolaescu-Musteață. I’ll also add that the method depends on writing directly to Lightroom’s SQL database, so it is an exception to my usual view that SQL hacks should be avoided at all costs. That said:

  • you create a collection called “ReverseAutoSync” and add the problem images to it
  • do this manually, maybe using a smart collection based on the Edit Time to find all pictures edited in a certain timeframe
  • backup the catalogue – things could go wrong
  • use a SQLLite utility to run the code shown below
  • you may need to rebuild the previews (Library > Previews > Discard and then Render)

And yes, long ago I did ask for this to be a built-in feature….

UPDATE adobe_imagedevelopsettings
SET text =
(SELECT hs1.text
FROM adobe_libraryimagedevelophistorystep hs1
WHERE hs1.image = adobe_imagedevelopsettings.image
AND hs1.id_local =
(SELECT MAX (hs2.id_local)
FROM adobe_libraryimagedevelophistorystep hs2
WHERE hs2.image = adobe_imagedevelopsettings.image
AND hs2.id_global <>
adobe_imagedevelopsettings.historysettingsid)),
historysettingsid =
(SELECT hs1.id_global
FROM adobe_libraryimagedevelophistorystep hs1
WHERE hs1.image = adobe_imagedevelopsettings.image
AND hs1.id_local =
(SELECT MAX (hs2.id_local)
FROM adobe_libraryimagedevelophistorystep hs2
WHERE hs2.image = adobe_imagedevelopsettings.image
AND hs2.id_global <>
adobe_imagedevelopsettings.historysettingsid)),
digest = NULL
WHERE image IN (SELECT ci.image
FROM aglibrarycollectionimage ci, aglibrarycollection c
WHERE c.id_local = ci.collection AND NAME LIKE ‘ScrewAutoSync’)
AND (SELECT COUNT (*)
FROM adobe_libraryimagedevelophistorystep
WHERE image = adobe_imagedevelopsettings.image) > 1