Should you allow users to "save" options that haven’t changed?

I have a situation where a user opens some options that appear in a popup. They can make their changes and then either Save or Cancel, both of which close the box and save/discard the user's changes.

There seem to be different approaches regarding whether the Save button should be enabled if the options haven't changed from their initial state (Or have returned to their original state)

Either:

  • Save is always available
  • Save is only enabled when changes have been made

It seems "Smarter" to only allow saving when changes will actually be saved, and the a disabled save button may potentially reassure some users. However, I generally don't like the user being prevented from saving valid data, even if that data hasn't changed.

Is there a best practice way to do this? Or is it simply a matter of using whichever feels most applicable to each situation?