diff --git a/lib/ssconf.py b/lib/ssconf.py
index 8ee84c112a7ae9da85f72b15350cb932100f6302..74874f6c58f17d4628e3c4bbada987b90a904bf4 100644
--- a/lib/ssconf.py
+++ b/lib/ssconf.py
@@ -52,8 +52,14 @@ class SimpleConfigReader(object):
 
     """
     self._file_name = file_name
-    self._config_data = serializer.Load(utils.ReadFile(file_name))
-    # TODO: Error handling
+    try:
+      self._config_data = serializer.Load(utils.ReadFile(file_name))
+    except IOError, err:
+      raise errors.ConfigurationError("Cannot read config file %s: %s" %
+                                      (file_name, err))
+    except ValueError, err:
+      raise errors.ConfigurationError("Cannot load config file %s: %s" %
+                                      (file_name, err))
 
   def GetClusterName(self):
     return self._config_data["cluster"]["cluster_name"]