diff --git a/ChangeLog b/ChangeLog
index 5bfc922..ac4e535 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sat Sep 16 16:02:23 CEST 2006 Rob Richards <rrichards@ctindustries.net>
+
+	* tree.c: xmlTextConcat works with comments and PI nodes (bug #355962).
+	* parser.c: fix resulting tree corruption when using XML namespace 
+	  with existing doc in xmlParseBalancedChunkMemoryRecover.
+
 Fri Sep  1 11:52:55 CEST 2006 Daniel Veillard <daniel@veillard.com>
 
 	* xmlIO.c: another patch from Emelyanov Alexey to clean up a few things
diff --git a/parser.c b/parser.c
index ceb91d2..e30427c 100644
--- a/parser.c
+++ b/parser.c
@@ -11903,6 +11903,9 @@
     } else {
 	ctxt->myDoc = newDoc;
 	newDoc->children->doc = doc;
+	/* Ensure that doc has XML spec namespace */
+	xmlSearchNsByHref(doc, (xmlNodePtr)doc, XML_XML_NAMESPACE);
+	newDoc->oldNs = doc->oldNs;
     }
     ctxt->instate = XML_PARSER_CONTENT;
     ctxt->depth = depth;
@@ -11963,6 +11966,7 @@
     xmlFreeParserCtxt(ctxt);
     newDoc->intSubset = NULL;
     newDoc->extSubset = NULL;
+    newDoc->oldNs = NULL;
     xmlFreeDoc(newDoc);
     
     return(ret);
diff --git a/tree.c b/tree.c
index 26e5abd..07a555a 100644
--- a/tree.c
+++ b/tree.c
@@ -6529,7 +6529,9 @@
     if (node == NULL) return(-1);
 
     if ((node->type != XML_TEXT_NODE) &&
-        (node->type != XML_CDATA_SECTION_NODE)) {
+        (node->type != XML_CDATA_SECTION_NODE) &&
+	(node->type != XML_COMMENT_NODE) &&
+	(node->type != XML_PI_NODE)) {
 #ifdef DEBUG_TREE
 	xmlGenericError(xmlGenericErrorContext,
 		"xmlTextConcat: node is not text nor CDATA\n");
