diff --git a/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl b/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl
index 633859407b053d29fea97699c11eb0891cbb65b9..90eb73b8708b138bbd3983bd82cb4b30a67b1e29 100644
--- a/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl
+++ b/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl
@@ -50,12 +50,13 @@
     
     <xsl:template match="db:answer">
         <db:answer>
+            <xsl:variable name="proximaParentId" select="ancestor::*[@xml:id and position()=1]/@xml:id"/>
             <xsl:choose>
-                <xsl:when test="following::db:qandaentry[@xml:id=$lastAnswerId] or parent::db:qandaentry[@xml:id=$lastAnswerId]">
+                <xsl:when test="following::*[@xml:id=$lastAnswerId] or ancestor::*[@xml:id=$lastAnswerId]">
                     <xsl:copy-of select="*"/> 
                 </xsl:when>
                 <xsl:otherwise>
-                    <para>Answer id=<xsl:value-of select="parent::db:qandaentry/@xml:id"/> not yet published.</para>
+                    <para>Answer id=<xsl:value-of select="ancestor::*[@xml:id][1]/@xml:id"/> not yet published.</para>
                 </xsl:otherwise>
             </xsl:choose>
         </db:answer>