diff --git a/ChangeLog b/ChangeLog
index 30ddce17be8c7b9c66db8b578e142af8f40fbaf7_Q2hhbmdlTG9n..8b210a0d2272eff7a45b91dfc6f9d6e8d1f95c76_Q2hhbmdlTG9n 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Dec 13 11:59:07 CET 2002 Daniel Veillard <daniel@veillard.com>
+
+	* libxslt/numbers.c: numbering should not traverse XInclude
+	  nodes left in the tree. Closes bug #101114 raised by
+	  Bernd Kuemmerlen
+
 Thu Dec 12 01:17:09 CET 2002 Daniel Veillard <daniel@veillard.com>
 
 	* doc/apibuild.py: fixed a bug in merging public info from
diff --git a/libxslt/numbers.c b/libxslt/numbers.c
index 30ddce17be8c7b9c66db8b578e142af8f40fbaf7_bGlieHNsdC9udW1iZXJzLmM=..8b210a0d2272eff7a45b91dfc6f9d6e8d1f95c76_bGlieHNsdC9udW1iZXJzLmM= 100644
--- a/libxslt/numbers.c
+++ b/libxslt/numbers.c
@@ -486,7 +486,9 @@
             (cur->type == XML_HTML_DOCUMENT_NODE))
 	    break; /* while */
 
-	while ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
+	while ((cur->prev != NULL) && ((cur->prev->type == XML_DTD_NODE) ||
+	       (cur->prev->type == XML_XINCLUDE_START) ||
+	       (cur->prev->type == XML_XINCLUDE_END)))
 	    cur = cur->prev;
 	if (cur->prev != NULL) {
 	    for (cur = cur->prev; cur->last != NULL; cur = cur->last);