diff --git a/coolamqp/framing/compilation/xml_fields.py b/coolamqp/framing/compilation/xml_fields.py
index 173b11ec82801fd21e94e72879dc42e62cd29234..dfcb8f1156cd094118848e308a82a52ffa1d6a4a 100644
--- a/coolamqp/framing/compilation/xml_fields.py
+++ b/coolamqp/framing/compilation/xml_fields.py
@@ -83,7 +83,7 @@ class _ChildField(_ComputedField):
     """
     def __init__(self, name, xml_tag, fun, postexec=nop):
         super(_ChildField, self).__init__(name, lambda elem: \
-            postexec([fun, _get_tagchild(elem, xml_tag)]))
+            postexec([fun(c) for c in _get_tagchild(elem, xml_tag)]))
 
 def get_docs(elem, label):
     """Parse an XML element. Return documentation"""