My D300 has recently developed the tendency to lose communication with AF-S and AF-D lenses and default back to the last used Non-CPU lens stored in the menu.
Depending on the last Non-CPU lens, the exposure may be several stops over or under. It can also be fairly close if the Non-CPU lens has a max aperture that matches the AF lens mounted.
If I switch to manual mode from Aperture or Shutter Priority, I can still dial in the exposure fairly close.
If I grasp the lens body and work it back and forth and up and down within the limits of the slop of the mount, I can frequently restore communication for a short while.
This occurs with more than one lens and the lens works perfectly on my D700 so this is pointing me at the D300.
I have wiped the contacts on both the lens and body, removed and reseated the lens only to have the issue return. I just cleaned the body contacts with a Pec Pad and some Eclipse but the pad does not show any discoloration. If the issue persists, I am going to see if I can locate a source for a deoxidizer.
If that don't work, it looks like a vacation at Nikon will be in order.