diff --git a/ws/Docbook/Preprocess/Xsl/docbook2docbook.xsl b/ws/Docbook/Preprocess/Xsl/docbook2docbook.xsl
index de20ada8105cb82f9a269735ebad5df74c78347c..ea6c3c7d0fe4dae9d53dd2c4d48d4d0926bf4a6a 100644
--- a/ws/Docbook/Preprocess/Xsl/docbook2docbook.xsl
+++ b/ws/Docbook/Preprocess/Xsl/docbook2docbook.xsl
@@ -31,7 +31,7 @@
   </xsl:template>
   
   <!-- Providing list of exercises -->
-  <xsl:template match="db:book">
+  <xsl:template match="db:book[not(db:part)]|db:part">
     <xsl:copy>
       <xsl:apply-templates select="@* | node()"/>
       <xsl:if test=".//db:qandaset">
@@ -62,8 +62,8 @@
                       <xref linkend="{current-grouping-key()}"/>
                     </td>
                   </xsl:if>
-                  <td> 
-                    <xsl:value-of select="db:title"/>
+                  <td>
+                    <xsl:apply-templates select="." mode="selectOwnOrInheritedTitle"/>
                   </td>
                   <td/> <!-- empty status of completion -->
                 </tr>
@@ -92,7 +92,9 @@
         <xsl:for-each select="descendant::db:qandaset">
             <listitem>
               <para>
-                <xref linkend="{@xml:id}"/>
+                <link linkend="{@xml:id}">
+                  <xsl:apply-templates select="." mode="selectOwnOrInheritedTitle"/>
+                </link>
               </para>
             </listitem>
         </xsl:for-each>