Index: osgVisual/include/util/visual_util.h
===================================================================
--- osgVisual/include/util/visual_util.h	(revision 151)
+++ osgVisual/include/util/visual_util.h	(revision 152)
@@ -239,7 +239,8 @@
 	 * @param moduleName : Module name to search for.
 	 * @param doc : xmlDoc to use. Must be created outside that the caller can clean it up.
+	 * @param disabled : Contains after return if the module was disabled. Only true if valid configuration and definitely disabled.
 	 * @return : NULL on error, otherwise pointer to the xmlNode of the queried module.
 	 */ 
-	static xmlNode* getModuleXMLConfig(std::string configFilename, std::string moduleName, xmlDoc*& doc);
+	static xmlNode* getModuleXMLConfig(std::string configFilename, std::string moduleName, xmlDoc*& doc, bool& disabled);
 
 	/**
@@ -260,7 +261,8 @@
 	 * @param node : Node to search in
 	 * @param moduleName :Module name to search for.
+	 * @param disabled : Contains after return if the module was disabled. Only true if valid configuration and definitely disabled.
 	 * @return : NULL if the module configuration was not found, otherwise pointer to the XML Node with the configuration for the specified module. 
 	 */ 
-	static xmlNode* checkXMLNodeChildrenForModule(xmlNode* node, std::string moduleName);
+	static xmlNode* checkXMLNodeChildrenForModule(xmlNode* node, std::string moduleName, bool& disabled);
 
 	/**
Index: osgVisual/src/distortion/visual_distortion.cpp
===================================================================
--- osgVisual/src/distortion/visual_distortion.cpp	(revision 151)
+++ osgVisual/src/distortion/visual_distortion.cpp	(revision 152)
@@ -44,10 +44,17 @@
 	// Init XML
 	xmlDoc* tmpDoc;
-	xmlNode* config = util::getModuleXMLConfig( configFileName, "distortion", tmpDoc );
+	bool disabled;
+	xmlNode* config = util::getModuleXMLConfig( configFileName, "distortion", tmpDoc, disabled );
+
+	if( disabled)
+	{
+		OSG_NOTIFY( osg::ALWAYS ) << "..disabled by XML configuration file." << std::endl;
+		return false;
+	}
 	
 	// extract configuration values
 	if(config)
 	{
-		OSG_NOTIFY( osg::ALWAYS ) << "Using distortion." << std::endl;
+		OSG_NOTIFY( osg::ALWAYS ) << "..using distortion." << std::endl;
 
 		xmlNode* a_node = config->children;
@@ -164,5 +171,5 @@
 	else
 	{
-		OSG_WARN << "WARNING: visual_distortion::processXMLConfiguration() - Module configuration not found or module disabled!" << std::endl;
+		OSG_WARN << "ERROR: visual_distortion::processXMLConfiguration() - Module configuration not found" << std::endl;
 		return false;
 	}
@@ -175,5 +182,5 @@
 osg::Group* visual_distortion::initialize(osg::Group* subgraph, const osg::Vec4& clearColor )
 {
-	OSG_NOTIFY (osg::ALWAYS ) << "visual_distortion initialize..." << std::endl;
+	OSG_NOTIFY (osg::ALWAYS ) << "visual_distortion initialize..";  // The sentence is finished by the init result...
 
 	// Initialize variables:
Index: osgVisual/src/util/visual_util.cpp
===================================================================
--- osgVisual/src/util/visual_util.cpp	(revision 151)
+++ osgVisual/src/util/visual_util.cpp	(revision 152)
@@ -89,7 +89,8 @@
 }
 
-xmlNode* util::getModuleXMLConfig(std::string configFilename, std::string moduleName, xmlDoc*& doc)
+xmlNode* util::getModuleXMLConfig(std::string configFilename, std::string moduleName, xmlDoc*& doc, bool& disabled)
 {
 	doc = NULL;
+	disabled = false;
 	xmlNode *root_element = NULL;
 
@@ -126,7 +127,7 @@
 
 	// If file is a valid osgVisual config file, check all the root xml node and all of it's children of osgvisualconfiguration for the specified module
-	xmlNode* tmpNode = checkXMLNodeChildrenForModule(root_element, moduleName);
-
-	if( !tmpNode ) // if no valid node was found: clena up. Otherwise: the caller has to clean up.
+	xmlNode* tmpNode = checkXMLNodeChildrenForModule(root_element, moduleName, disabled);
+
+	if( !tmpNode ) // if no valid node was found or the module is disabled: clean up. Otherwise: the caller has to clean up.
 	{
 		xmlFreeDoc(doc);	// free the document
@@ -139,7 +140,7 @@
 }
 
-xmlNode* util::checkXMLNodeChildrenForModule(xmlNode* node, std::string moduleName)
-{
-	for (xmlNode *cur_node = node; cur_node; cur_node = cur_node->next)	// iterate through all elements 
+xmlNode* util::checkXMLNodeChildrenForModule(xmlNode* node, std::string moduleName, bool& disabled)
+{
+	for (xmlNode *cur_node = node; cur_node; cur_node = cur_node->next)	// iterate through all XML elements 
 	{
 		// Is the node the one we are searching for?
@@ -170,10 +171,11 @@
 					if( attr_name == "enabled" && attr_value == "yes" )
 					{
-						OSG_ALWAYS << "Found XML module configuration for " << moduleName << std::endl;
+						OSG_DEBUG << "Found XML module configuration for " << moduleName << std::endl;
 						return cur_node;
 					}
 					if( attr_name == "enabled" && attr_value == "no" )
 					{
-						OSG_ALWAYS << "Found XML module configuration for " << moduleName << ", but it is DISABLED." << std::endl;
+						disabled = true;
+						OSG_DEBUG << "Found XML module configuration for " << moduleName << ", but it is DISABLED." << std::endl;
 						return NULL;
 					}
@@ -183,5 +185,5 @@
 			else	// Otherwise: check its children..
 			{
-				xmlNode* tmp_XmlNode = checkXMLNodeChildrenForModule(cur_node->children, moduleName);
+				xmlNode* tmp_XmlNode = checkXMLNodeChildrenForModule(cur_node->children, moduleName, disabled);
 				if(tmp_XmlNode)
 					return tmp_XmlNode;
