diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 2a58773..9a8904f 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -1829,8 +1829,6 @@
     _processEntities( processEntities ),
     _errorID(XML_SUCCESS),
     _whitespace( whitespace ),
-    _errorStr1( 0 ),
-    _errorStr2( 0 ),
     _charBuffer( 0 )
 {
     // avoid VC++ C4355 warning about 'this' in initializer list (C4355 is off by default in VS2012+)
@@ -1852,8 +1850,8 @@
     const bool hadError = Error();
 #endif
     _errorID = XML_SUCCESS;
-    _errorStr1 = 0;
-    _errorStr2 = 0;
+	_errorStr1.Reset();
+	_errorStr2.Reset();
 
     delete [] _charBuffer;
     _charBuffer = 0;
@@ -2112,8 +2110,14 @@
 {
     TIXMLASSERT( error >= 0 && error < XML_ERROR_COUNT );
     _errorID = error;
-    _errorStr1 = str1;
-    _errorStr2 = str2;
+	
+	_errorStr1.Reset();
+	_errorStr2.Reset();
+
+	if (str1)
+		_errorStr1.SetStr(str1);
+	if (str2)
+		_errorStr2.SetStr(str2);
 }
 
 const char* XMLDocument::ErrorName() const
@@ -2131,11 +2135,11 @@
         char buf1[LEN] = { 0 };
         char buf2[LEN] = { 0 };
 
-        if ( _errorStr1 ) {
-            TIXML_SNPRINTF( buf1, LEN, "%s", _errorStr1 );
+        if ( !_errorStr1.Empty() ) {
+            TIXML_SNPRINTF( buf1, LEN, "%s", _errorStr1.GetStr() );
         }
-        if ( _errorStr2 ) {
-            TIXML_SNPRINTF( buf2, LEN, "%s", _errorStr2 );
+        if ( !_errorStr2.Empty() ) {
+            TIXML_SNPRINTF( buf2, LEN, "%s", _errorStr2.GetStr() );
         }
 
         // Should check INT_MIN <= _errorID && _errorId <= INT_MAX, but that
