Nikon Firmware Bug ( doesn’t affect ANY automatic FoCal Testing)

During the development of FoCal 1.9, we’ve found a bug in the firmware of all Nikon cameras we’ve tested with which will affect the procedure used for running the FoCal Manual Mode test and other situations where the AF Fine Tune value in the image metadata is of importance.


Nikon EXIF Write Firmware Bug

What’s the bug?

The bug is to do with when the camera gets the AF Fine Tune information to write to the image file metadata (the EXIF data).  As the camera empties it’s internal image buffer to the memory card, it queries the current AF Fine Tune value set on the camera before adding this information to the image file.

Normally, this wouldn’t present any issue, but if you’re taking various shots at different AF Fine Tune values (for instance when capturing images for the FoCal Manual Mode test), then the AF Fine Tune value recorded in the image may be wrong.

This bug appears to only affect AF Fine Tune values – we ran the same test changing AE mode, aperture, shutter speed, ISO, exposure compensation, metering mode, white balance and shoot mode and all of this information appears to be correct even if changed during the write to memory card.

Which cameras are affected?

We’ve checked with the Nikon D800, D7000, D600 and D3s (all with the latest firmware) and the issue is present for all of them.  We’re fairly confident it is a generic Nikon firmware issue so will affect all Nikon cameras.

Steps to Reproduce

You can see this problem for yourself by doing the following:

1.  Insert a slow SD/CF card into the camera.

2. Set the camera to RAW mode, and in the SHOOTING menu set the “NEF (RAW) Recording” option type to either “Lossless Compressed” or “Uncompressed” (if available).

3. Set the camera to Continuous High-Speed shooting mode

4. In the SETUP menu, set the AF Fine Tune to an arbitrary value (for example +20).  Leave the camera such that the AF Fine Tune option is selected as you will need to change this quickly in a later step.

5. Take a number of shots until the buffer is filled.  The image content is irrelevant.

6. While the shots are being written to the card (i.e. the card write light is illuminated), press the MENU button to return to the AF Fine Tune option and change the AF Fine Tune value to any different value.

7. When all images are written to the card, remove the card and open the images using Nikon View NX 2 (which you can download free here).  On the right side of the screen you will be able to see the AF Fine Tune value saved in the image metadata in the Camera Info panel as shown in the image below:

View NX2 Showing Nikon Firmware Bug

The image above shows a series of shots taken with the AF Fine Tune value set to +20, but while the images were being written to the card I changed the AF Fine Tune value.  You will notice that the second selected image has an AF Fine Tune value of +17 stored in the image metadata which is incorrect – all shots were taken with an AF Fine Tune of +20.

Comments on the Test Procedure

Steps 1, 2, 3 and 5 above are not required for the problem to actually happen in the camera – they just force a situation where the time taken to flush the internal buffer to the memory card is long enough that you can easily change the AF Fine Tune value.

FoCal Manual Mode Procedure Changes

FoCal Manual Mode uses the AF Fine Tune value stored in the image metadata by default, so in order to ensure that the correct metadata is stored within the image you should do the following:

1. Take a set of shots at a single AF Fine Tune value.

2. Wait for the write light on the back of the camera to be OFF before you change the AF Fine Tune value for another set of shots.

FoCal currently also allows you to change the AF Fine Tune value manually (and override the EXIF data), and in FoCal 1.9 (coming soon) this is made easier as well as offering the ability to interpret the image file name to determine an AF Fine Tune value (so you can name the files specifically and FoCal will use this information instead of the embedded metadata).

Let us know if you’re affected

If you run the steps described above and see this issue we’d love to hear.  We believe it will affect all Nikon cameras that have AF Fine Tune (which are all the cameras supported by FoCal) so do let us know if you see the problem.



8 comments on “Nikon Firmware Bug ( doesn’t affect ANY automatic FoCal Testing)

  • Aad Nieuwland says:

    Hello Rich,
    I run the test on my Nikon D700. After 20 shots the buffer was full. With the cf-light still on I changed the af-finetune from +3 to -16. All worked well!
    Greetings: Aad

  • Bryan Stone says:

    I have a Pro license, but not used it since changing to d7100. Are you now saying the d7100 can be fully automatic?

    • The Nikon D700 does not support setting the AFMA values programatically so we’re unable to write a test that does it fully automatically – should Nikon change their support we will add this in. In the meantime I suggest you write to nikon to ask them to add this support into the Software Development Kit as this is how we communicate with the Camera.

  • Michael Steinberg says:

    My Nikon d4s has this problem and it makes it impossible to get any correct Focus Adjust setting for my lens.

    • As mentioned in the blog post, the solution to this issue is just to wait until the green write light goes out on the camera before changing the AF Fine Tune value on the camera, so this issue will not stop you being able to calibrate your camera/lens.

  • How long will it take to solve this problem with Nikon. I want to have fully automatic AF Microadjustment for my Nikon D700.


Leave a Reply

Your email address will not be published. Required fields are marked *