diff --git a/xmlreader.c b/xmlreader.c
index 92b053e..737fdbc 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -1847,17 +1847,22 @@
     }
 
     if (reader->state != XML_TEXTREADER_BACKTRACK) {
-        if (reader->node->children != 0) {
-            reader->node = reader->node->children;
-            reader->depth++;
+	/* Here removed traversal to child, because we want to skip the subtree, 
+	replace with traversal to sibling to skip subtree */
+        if (reader->node->next != 0) {
+            reader->node = reader->node->next;// Move to sibling if present,skipping sub-tree
+            //reader->depth++;
             reader->state = XML_TEXTREADER_START;
             return(1);
         }
-
+	
+	/* if reader->node->next is NULL mean no subtree for current node, 
+	so need to move to sibling of parent node if present */
         if ((reader->node->type == XML_ELEMENT_NODE) ||
             (reader->node->type == XML_ATTRIBUTE_NODE)) {
             reader->state = XML_TEXTREADER_BACKTRACK;
-            return(1);
+            xmlTextReaderRead(reader);// This will move to parent if present
+            //return(xmlTextReaderReadTree(reader));
         }
     }
 
@@ -1876,7 +1881,8 @@
         reader->node = reader->node->parent;
         reader->depth--;
         reader->state = XML_TEXTREADER_BACKTRACK;
-        return(1);
+        xmlTextReaderNextTree(reader); //Repeat process to move to sibling of parent node if present
+        //return(1);
     }
 
     reader->state = XML_TEXTREADER_END;
