diff --git a/generateDS.py b/generateDS.py
index 477b598b0e23c182964889a02c8d84ea2d7fbeb8..94b0acd13acc2a7a92322ff497586cbf30a9a94d 100755
--- a/generateDS.py
+++ b/generateDS.py
@@ -3506,6 +3506,7 @@ def generateBuildFn(wrt, prefix, element, delayed):
     wrt('        for child in node:\n')
     wrt("            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]\n")
     wrt("            self.buildChildren(child, node, nodeName_)\n")
+    wrt('        return self\n')
     wrt('    def buildAttributes(self, node, attrs, already_processed):\n')
     hasAttributes = 0
     hasAttributes = generateBuildAttributes(wrt, element, hasAttributes)