diff --git a/modules/lists.xml b/modules/lists.xml
index 376f1ec..021fb73 100644
--- a/modules/lists.xml
+++ b/modules/lists.xml
@@ -170,8 +170,8 @@
 	<!-- List items for definition lists. -->
 	<template name="definition-item" match="item" mode="definition-list">
 		<common formats="/latex/xelatex/">
-			<xsl:apply-templates select="keyword|term|topic|DT|dt" />
-			<xsl:apply-templates select="definition|description|discourse|DD|dd" />
+			<xsl:apply-templates select="keyword|term|topic|DT|dt" mode="definition-list" />
+			<xsl:apply-templates select="definition|description|discourse|DD|dd" mode="definition-list" />
 			<xsl:call-template name="newline-internal" />
 		</common>
 		<common formats="/html/xhtml/">
@@ -217,12 +217,12 @@
 	</template>
 	
 	<!--
-		Need to provide some context here as, e.g., <term> is also a standalone element.
+		We need to use a mode here as, e.g., <term> is also a standalone element.
 		
 		@linebreak: If "yes", insert a line break after the item label. [default "no"]
 		    This attribute really only makes sense for the keyword elements of definition lists.
 	-->
-	<template name="keyword" match="item/keyword|item/term|item/topic|item/DT|item/dt">
+	<template name="keyword" match="keyword|term|topic|DT|dt" mode="definition-list">
 		<common formats="/latex/xelatex/">
 			<xsl:text>\item[</xsl:text>
 			<xsl:apply-templates />
@@ -242,7 +242,7 @@
 	<!--
 		Need to provide some context here as, e.g., <description> is also used within <image>.
 	-->
-	<template name="definition" match="item/definition|item/description|item/discourse|item/DD|item/dd">
+	<template name="definition" match="definition|description|discourse|DD|dd" mode="definition-list">
 		<common>
 			<xsl:apply-templates />
 		</common>