diff --git a/src/html/htmlpars.cpp b/src/html/htmlpars.cpp
index 1cd58d06f6..296138bb67 100644
--- a/src/html/htmlpars.cpp
+++ b/src/html/htmlpars.cpp
@@ -922,9 +922,13 @@ bool wxMetaTagHandler::HandleTag(const wxHtmlTag& tag)
wxString wxHtmlParser::ExtractCharsetInformation(const wxString& markup)
{
wxString charset;
- wxMetaTagParser parser;
- parser.AddTagHandler(new wxMetaTagHandler(&charset));
- parser.Parse(markup);
+ wxMetaTagParser *parser = new wxMetaTagParser();
+ if(parser)
+ {
+ parser->AddTagHandler(new wxMetaTagHandler(&charset));
+ parser->Parse(markup);
+ delete parser;
+ }
return charset;
}