diff --git a/fsl/utils/settings.py b/fsl/utils/settings.py
index 5be32c9a9e2296ab9b22e8fe48da46348c815b59..ceeb6bfe9060f6f8db8f28987869bc84e22628fc 100644
--- a/fsl/utils/settings.py
+++ b/fsl/utils/settings.py
@@ -128,8 +128,9 @@ def delete(*args, **kwargs):
     pass
 def readFile(*args, **kwargs):
     pass
+@contextlib.contextmanager
 def writeFile(*args, **kwargs):
-    pass
+    yield
 def deleteFile(*args, **kwargs):
     pass
 def filePath(*args, **kwargs):
@@ -420,7 +421,7 @@ class Settings(object):
         try:
             with open(configFile, 'wb') as f:
                 pickle.dump(config, f, protocol=2)
-        except (FileNotFoundError, IOError, pickle.PicklingError, EOFError):
+        except (IOError, pickle.PicklingError, EOFError):
             log.warning('Unable to save {} configuration file '
                         '{}'.format(self.__configID, configFile),
                         exc_info=True)