diff --git a/configure.ac b/configure.ac
index 92ee29eadcdd9dc5f94d349988db157e0953b2f9..c54c194eb12d0741f57f01573275b4e24f019a26 100644
--- a/configure.ac
+++ b/configure.ac
@@ -89,7 +89,7 @@ dnl Define C++ as default language
 AC_LANG(C++)
 
 dnl Setup C++ compiler flags
-CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS $USER_INCLUDES -O0 -g -Wall -Weffc++ -Wfatal-errors"
+CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS $USER_INCLUDES -O0 -g -Wall -Weffc++ -Wfatal-errors -Werror"
 
 dnl Check for header files
 AC_FUNC_ALLOCA
diff --git a/src/config/config.cpp b/src/config/config.cpp
index 4a7346986cc7c4a9ef61bc4e28cfcb3ce7c7fb62..700f70484e7cb918a11f8f6f90d5284b5ae68f44 100644
--- a/src/config/config.cpp
+++ b/src/config/config.cpp
@@ -25,7 +25,7 @@
 namespace Conf {
 
 // ctor
-ConfigTree::ConfigTree() 
+ConfigTree::ConfigTree():_sections()
 {
 }
 
diff --git a/src/config/config.h b/src/config/config.h
index 5bcb9aa216987771f491e44c88ca42012a125b13..e929426b5e29c394fc080dd1f1bfce876d949f35 100644
--- a/src/config/config.h
+++ b/src/config/config.h
@@ -73,7 +73,10 @@ namespace Conf {
 
     private:
       friend class ConfigTree;
-      ConfigTreeIterator(ConfigTree *configTree) : _tree(configTree) {}
+      ConfigTreeIterator(ConfigTree *configTree) : _tree(configTree), _endToken(), _iter(), _iterItem() {}
+
+      ConfigTreeIterator(const Conf::ConfigTreeIterator&);
+      ConfigTreeIterator& operator=(const Conf::ConfigTreeIterator&);
 
       ConfigTree* _tree;
       TokenList _endToken;
@@ -151,7 +154,7 @@ namespace Conf {
 
   class ConfigTreeItem {
     public:
-      ConfigTreeItem() : _defaultValue(""), _type("string") {}
+      ConfigTreeItem() : _name(""), _value(""), _defaultValue(""), _type("string") {}
       // defaultvalue = value
       ConfigTreeItem(const std::string& name, const std::string& value, const std::string& type) : 
 	_name(name), _value(value),