diff --git a/ws/Docbook/CustomLayer/slide/xsl/slideHdm.xsl b/ws/Docbook/CustomLayer/slide/xsl/slideHdm.xsl
index 7a93e4f9ab5a4a64f19322a7272fd25bc2df3a60..f82462eed4401ba6f2f06e5d71af02b4352eb532 100644
--- a/ws/Docbook/CustomLayer/slide/xsl/slideHdm.xsl
+++ b/ws/Docbook/CustomLayer/slide/xsl/slideHdm.xsl
@@ -678,6 +678,7 @@
 
     </xsl:template>
 
+    <!-- TODO: Code duplication in hdmextensions.xsl -->
     <xsl:template match="d:videodata">
         <video controls="controls" preload="auto" width="50%">
             <xsl:attribute name="title">
@@ -691,13 +692,27 @@
                 </xsl:call-template>
             </xsl:variable>
 
-            <source src="{$hdm_ImageFilename}" type="video/webm"/>
-            <source src="{$hdm_ImageFilename}.mp4" type="video/mp4"/>
+            <xsl:choose>
+
+                <!-- ends-with(...) in xsl 1.0, sigh! -->
+                <xsl:when test="'.webm' = substring($hdm_ImageFilename, string-length($hdm_ImageFilename) - string-length('.webm') + 1)">
+                    <source src="{$hdm_ImageFilename}" type='video/webm' />
+                    <source src="{$hdm_ImageFilename}.mp4" type='video/mp4'/>
+                </xsl:when>
+
+                <xsl:when test="'.mp4' = substring($hdm_ImageFilename, string-length($hdm_ImageFilename) - string-length('.mp4') + 1)">
+                    <source src="{$hdm_ImageFilename}" type='video/mp4'/>
+                </xsl:when>
+
+                <xsl:otherwise>
+                    <source src="{$hdm_ImageFilename}" />
+                </xsl:otherwise>
+            </xsl:choose>
+
             <xsl:text>Your Browser does not support the video tag</xsl:text>
         </video>
     </xsl:template>
 
-
     <xsl:template match="d:programlisting">
         <pre class="programlisting">
 
diff --git a/ws/Docbook/CustomLayer/webhelp/hdmextensions.xsl b/ws/Docbook/CustomLayer/webhelp/hdmextensions.xsl
index e42a3b052d6700a851aca52f4f9fd876350db509..714dd41f9a7a8a92ba387c2dba3530fb71b54e98 100644
--- a/ws/Docbook/CustomLayer/webhelp/hdmextensions.xsl
+++ b/ws/Docbook/CustomLayer/webhelp/hdmextensions.xsl
@@ -50,14 +50,21 @@
       <xsl:apply-templates/>
     </xsl:element>
   </xsl:template>
-  
+
   <xsl:template match="d:videodata">
     <video controls="controls" preload="auto" width="50%">
       <xsl:attribute name="title">
         <xsl:value-of select="normalize-space(../../../d:title)"/>
       </xsl:attribute>
 
-            <xsl:choose>
+      <xsl:variable name="hdm_ImageFilename">
+        <!-- hdm_ prefix: do not mess with docbook! -->
+        <xsl:call-template name="mediaobject.filename">
+          <xsl:with-param name="object" select=".."/>
+        </xsl:call-template>
+      </xsl:variable>
+
+      <xsl:choose>
 
         <!-- ends-with(...) in xsl 1.0, sigh! -->
         <xsl:when test="'.webm' = substring($hdm_ImageFilename, string-length($hdm_ImageFilename) - string-length('.webm') + 1)">
@@ -77,7 +84,7 @@
       <xsl:text>Your Browser does not support the video tag</xsl:text>
     </video>
   </xsl:template>
-  
+
   <!-- Modifying Docbook's standard -->
   
   <xsl:template match="d:qandaset">
diff --git a/ws/Docbook/Preprocess/Xsl/common.xsl b/ws/Docbook/Preprocess/Xsl/common.xsl
index 6e501236e1b9c0d452788a6c42e9bf06a6a2987c..d4852af3a08b34b96b37fa2d648dd89f09315d87 100644
--- a/ws/Docbook/Preprocess/Xsl/common.xsl
+++ b/ws/Docbook/Preprocess/Xsl/common.xsl
@@ -2,7 +2,7 @@
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://docbook.org/ns/docbook"
   xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
-                exclude-result-prefixes="xs" version="2.0">
+  exclude-result-prefixes="xs" version="2.0">
 
   <xsl:param name="javaApiBaseUrl"
   >https://docs.oracle.com/en/java/javase/21/docs/api/java.base</xsl:param>
@@ -155,5 +155,4 @@
     <xsl:text>.html</xsl:text>
   </xsl:template>
 
-
 </xsl:stylesheet>
diff --git a/ws/Docbook/Preprocess/make.rules b/ws/Docbook/Preprocess/make.rules
index 05adece612441c62ee7d3865668c5715329d35ca..41967c1d9bec21e260d30a009fdb2bfff65b5ae7 100644
--- a/ws/Docbook/Preprocess/make.rules
+++ b/ws/Docbook/Preprocess/make.rules
@@ -158,8 +158,8 @@ SAXONCMD=java -cp "${DBOOK_XSL}/tools/lib/saxon9he.jar:/usr/share/java/xercesImp
         fileBaseName=$$(basename $$foFile .fo); \
           echo processing file $$foFile; \
 	  sed -e 's/ ­/ /g' $$foFile > $$fileBaseName.strip.fo; \
-          fop -c /usr/share/hdm-docbook-xsl/CustomLayer/Fonts/config.xml -fo $$fileBaseName.strip.fo -pdf $$fileBaseName.pdf ; \
-          rm -f $$fileBaseName.strip.fo $$foFile; \
+          fop -c /usr/share/hdm-docbook-xsl/CustomLayer/Fonts/config.xml -fo $$fileBaseName.strip.fo \
+        -pdf $$fileBaseName.pdf || exit 0; rm -f $$fileBaseName.strip.fo $$foFile; \
         done
 	touch $*.present
 
@@ -169,7 +169,7 @@ SAXONCMD=java -cp "${DBOOK_XSL}/tools/lib/saxon9he.jar:/usr/share/java/xercesImp
 # See http://stackoverflow.com/questions/39786947/how-to-convert-to-pdf-from-xsl-fo-with-mathml/39796975
 %.pdf: %.print.xml
 	${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/pdf/docbookHdm.xsl ${dbookXslPdfParam} > ${*}.fo
-	fop -c /usr/share/hdm-docbook-xsl/CustomLayer/Fonts/config.xml -fo ${*}.fo -pdf ${*}.pdf
+	fop -c /usr/share/hdm-docbook-xsl/CustomLayer/Fonts/config.xml -fo ${*}.fo -pdf ${*}.pdf || exit 0; rm -f ${*}.fo
 
 %.fo: %.print.xml # for debugging
 	${SAXON6CMD} $*.print.xml ${DBOOK_XSL_CUSTOM}/pdf/docbookHdm.xsl ${dbookXslPdfParam} > $*.fo