diff --git a/yotta/lib/settings.py b/yotta/lib/settings.py
index <HASH>..<HASH> 100755
--- a/yotta/lib/settings.py
+++ b/yotta/lib/settings.py
@@ -66,6 +66,12 @@ class _JSONConfigParser(object):
                 self.configs[fn] = ordered_json.load(fn)
             except IOError:
                 self.configs[fn] = OrderedDict()
+            except Exception as e:
+                self.configs[fn] = OrderedDict()
+                logging.warning(
+                    "Failed to read settings file %s, it will be ignored. The error was: %s",
+                    fn, e
+                )
 
     def get(self, path):
         ''' return a configuration value
handle syntax errors in settings files more gracefully