diff --git a/fsl/utils/settings.py b/fsl/utils/settings.py
index 675ad29c4880f466e7c113f9f7100ad4be4883d7..7f011a1e87b9a42bb59f11cd1caba6e4b12f9765 100644
--- a/fsl/utils/settings.py
+++ b/fsl/utils/settings.py
@@ -372,7 +372,7 @@ class Settings(object):
         try:
             with open(configFile, 'rb') as f:
                 return pickle.load(f)
-        except (IOError, pickle.UnpicklingError):
+        except (IOError, pickle.UnpicklingError, EOFError):
             log.debug('Unable to load stored {} configuration file '
                       '{}'.format(self.__configID, configFile),
                       exc_info=True)
@@ -391,7 +391,7 @@ class Settings(object):
         try:
             with open(configFile, 'wb') as f:
                 pickle.dump(config, f)
-        except (IOError, pickle.PicklingError):
+        except (IOError, pickle.PicklingError, EOFError):
             log.warning('Unable to save {} configuration file '
                         '{}'.format(self.__configID, configFile),
                         exc_info=True)