diff --git a/ChangeLog b/ChangeLog
index 8201980..b9f04d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sun Feb  8 12:09:55 HKT 2004 William Brack <wbrack@mmm.com.hk>
+
+	* xinclude.c: added a small hack to fix interference between
+	  my fixes for bugs 132585 and 132588.
+	* python/libxml.c: fixed problem with serialization of namespace
+	  reported on the mailing list by Anthony Carrico
+
 Sat Feb  7 16:53:11 HKT 2004 William Brack <wbrack@mmm.com.hk>
 
 	* xinclude.c: fixed problem with function xmlXIncludeCopyRange
diff --git a/python/libxml.c b/python/libxml.c
index 225078a..52decf4 100644
--- a/python/libxml.c
+++ b/python/libxml.c
@@ -2473,7 +2473,10 @@
         (void) xmlOutputBufferClose(buf);
         py_retval = libxml_charPtrWrap((char *) c_retval);
     } else {
-        doc = node->doc;
+        if (node->type == XML_NAMESPACE_DECL)
+	    doc = NULL;
+	else
+            doc = node->doc;
         if ((doc == NULL) || (doc->type == XML_DOCUMENT_NODE)) {
             xmlOutputBufferPtr buf;
             xmlCharEncodingHandlerPtr handler = NULL;
diff --git a/xinclude.c b/xinclude.c
index d1c816f..a58a779 100644
--- a/xinclude.c
+++ b/xinclude.c
@@ -58,6 +58,7 @@
     int                   xml; /* xml or txt */
     int                 count; /* how many refs use that specific doc */
     xmlXPathObjectPtr    xptr; /* the xpointer if needed */
+    int		      emptyFb; /* flag to show fallback empty */
 };
 
 struct _xmlXIncludeCtxt {
@@ -1795,6 +1796,7 @@
 	ctxt->incTab[nr]->inc = xmlCopyNodeList(fallback->children);
     } else {
         ctxt->incTab[nr]->inc = NULL;
+	ctxt->incTab[nr]->emptyFb = 1;	/* flag empty callback */
     }
     return(ret);
 }
@@ -2208,7 +2210,9 @@
      *
      */
     for (i = ctxt->incBase;i < ctxt->incNr; i++) {
-	if ((ctxt->incTab[i]->inc != NULL) || (ctxt->incTab[i]->xptr != NULL))
+	if ((ctxt->incTab[i]->inc != NULL) ||
+		(ctxt->incTab[i]->xptr != NULL) ||
+		(ctxt->incTab[i]->emptyFb != 0))	/* (empty fallback) */
 	    xmlXIncludeIncludeNode(ctxt, i);
     }
 
