diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h
index fd6929477..f52132fad 100644
--- a/code/nel/include/nel/gui/group_html.h
+++ b/code/nel/include/nel/gui/group_html.h
@@ -249,10 +249,10 @@ namespace NLGUI
 		virtual void addText (const char * buf, int len);
 
 		// A link has been parsed
-		virtual void addLink (uint element_number, const BOOL *present, const char **value);
+		virtual void addLink (uint element_number, const std::vector<bool> &present, const std::vector<const char *> &value);
 
 		// A new begin HTML element has been parsed (<IMG> for exemple)
-		virtual void beginElement (uint element_number, const BOOL *present, const char **value);
+		virtual void beginElement (uint element_number, const std::vector<bool> &present, const std::vector<const char *> &value);
 
 		// A new end HTML element has been parsed (</IMG> for exemple)
 		virtual void endElement (uint element_number);
diff --git a/code/nel/include/nel/gui/libwww_types.h b/code/nel/include/nel/gui/libwww_types.h
index 27058c861..4a1c6b238 100644
--- a/code/nel/include/nel/gui/libwww_types.h
+++ b/code/nel/include/nel/gui/libwww_types.h
@@ -32,8 +32,6 @@
 #ifndef CL_LIB_WWW_TYPES_H
 #define CL_LIB_WWW_TYPES_H
 
-typedef char BOOL;
-
 //
 // LibWWW elements
 // - order must be kept for backward compatibility, new tags can be added to the end
diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp
index 0ec026a1a..9cfdc1ef0 100644
--- a/code/nel/src/gui/group_html.cpp
+++ b/code/nel/src/gui/group_html.cpp
@@ -674,7 +674,7 @@ namespace NLGUI
 
 	// ***************************************************************************
 
-	void CGroupHTML::addLink (uint element_number, const BOOL *present, const char **value)
+	void CGroupHTML::addLink (uint element_number, const std::vector<bool> &present, const std::vector<const char *> &value)
 	{
 		if (_Browsing)
 		{
@@ -982,7 +982,7 @@ namespace NLGUI
 
 	// ***************************************************************************
 
-	void CGroupHTML::beginElement (uint element_number, const BOOL *present, const char **value)
+	void CGroupHTML::beginElement (uint element_number, const std::vector<bool> &present, const std::vector<const char *> &value)
 	{
 		if (_Browsing)
 		{
@@ -4604,7 +4604,7 @@ namespace NLGUI
 		CLuaIHM::checkArgType(ls, funcName, 2, LUA_TTABLE);
 
 		uint element_number = (uint)ls.toNumber(1);
-		std::vector<BOOL> present;
+		std::vector<bool> present;
 		std::vector<const char *> value;
 		present.resize(30, false);
 		value.resize(30);
@@ -4638,9 +4638,9 @@ namespace NLGUI
 			value.insert(value.begin() + (uint)it.nextKey().toNumber(), buffer);
 		}
 
-		beginElement(element_number, &present[0], &value[0]);
+		beginElement(element_number, present, value);
 		if (element_number == HTML_A)
-			addLink(element_number, &present[0], &value[0]);
+			addLink(element_number, present, value);
 
 		return 0;
 	}
diff --git a/code/nel/src/gui/group_html_parser.cpp b/code/nel/src/gui/group_html_parser.cpp
index e6f63d464..260e6a96f 100644
--- a/code/nel/src/gui/group_html_parser.cpp
+++ b/code/nel/src/gui/group_html_parser.cpp
@@ -39,9 +39,11 @@ namespace NLGUI
 		{
 			CXMLAutoPtr ptr;
 			// load attributes into libwww structs
-			BOOL present[MAX_ATTRIBUTES] = {0};
-			const char *value[MAX_ATTRIBUTES] = {NULL};
+			std::vector<bool> present;
+			std::vector<const char *>value;
 			std::string strvalues[MAX_ATTRIBUTES];
+			present.resize(30, false);
+			value.resize(30);
 
 			uint nbAttributes = std::min(MAX_ATTRIBUTES, HTML_DTD->tags[element_number].number_of_attributes);
 			for(uint i=0; i<nbAttributes; i++)
diff --git a/code/ryzom/client/src/interface_v3/group_quick_help.cpp b/code/ryzom/client/src/interface_v3/group_quick_help.cpp
index d2444d413..b3c2c1ecc 100644
--- a/code/ryzom/client/src/interface_v3/group_quick_help.cpp
+++ b/code/ryzom/client/src/interface_v3/group_quick_help.cpp
@@ -215,7 +215,7 @@ void CGroupQuickHelp::setGroupTextSize (CInterfaceGroup *group, bool selected)
 
 extern CActionsContext ActionsContext;
 
-void CGroupQuickHelp::beginElement (uint element_number, const BOOL *present, const char **value)
+void CGroupQuickHelp::beginElement (uint element_number, const std::vector<bool> &present, const std::vector<const char *>&value)
 {
 	CGroupHTML::beginElement (element_number, present, value);
 
diff --git a/code/ryzom/client/src/interface_v3/group_quick_help.h b/code/ryzom/client/src/interface_v3/group_quick_help.h
index a4557a4c7..76f863bf9 100644
--- a/code/ryzom/client/src/interface_v3/group_quick_help.h
+++ b/code/ryzom/client/src/interface_v3/group_quick_help.h
@@ -48,7 +48,7 @@ private:
 	virtual void updateCoords();
 
 	// From CGroupHTML
-	virtual void beginElement (uint element_number, const BOOL *present, const char **value);
+	virtual void beginElement (uint element_number, const std::vector<bool> &present, const std::vector<const char *>&value);
 	virtual void endBuild ();
 	virtual void browse (const char *url);
 	virtual std::string	home();