Wrong button title shown in didHideMasterViewController:
Restore check to see if detailViewController changed in setViewController:

Forgot that attempting to remove an observer that doesn't exist will throw an exception...