diff --git a/tests/exslt/dynamic/Makefile.am b/tests/exslt/dynamic/Makefile.am
index 18832b6411b01c334f3ad5768ccfff1db5b91db3_dGVzdHMvZXhzbHQvZHluYW1pYy9NYWtlZmlsZS5hbQ==..86ed8ac0e9968ac4f76c43f94316ebf930fa26bd_dGVzdHMvZXhzbHQvZHluYW1pYy9NYWtlZmlsZS5hbQ== 100644
--- a/tests/exslt/dynamic/Makefile.am
+++ b/tests/exslt/dynamic/Makefile.am
@@ -3,8 +3,14 @@
 $(top_builddir)/xsltproc/xsltproc:
 	@(cd ../../../xsltproc ; $(MAKE) xsltproc)
 
-EXTRA_DIST = 							\
-  dynmap.out     dynmap.xml     dynmap.xsl
+EXTRA_DIST = \
+    dynmap.out \
+    dynmap.xml \
+    dynmap.xsl \
+    recursion.err \
+    recursion.out \
+    recursion.xml \
+    recursion.xsl
 
 CLEANFILES = .memdump
 
diff --git a/tests/exslt/dynamic/recursion.err b/tests/exslt/dynamic/recursion.err
new file mode 100644
index 0000000000000000000000000000000000000000..86ed8ac0e9968ac4f76c43f94316ebf930fa26bd_dGVzdHMvZXhzbHQvZHluYW1pYy9yZWN1cnNpb24uZXJy
--- /dev/null
+++ b/tests/exslt/dynamic/recursion.err
@@ -0,0 +1,7 @@
+XPath error : Recursion limit exceeded
+dyn:evaluate(.)
+             ^
+dyn:evaluate() : unable to evaluate expression 'dyn:evaluate(.)'
+XPath error : Recursion limit exceeded
+dyn:map(., .)
+        ^
diff --git a/tests/exslt/dynamic/recursion.out b/tests/exslt/dynamic/recursion.out
new file mode 100644
index 0000000000000000000000000000000000000000..86ed8ac0e9968ac4f76c43f94316ebf930fa26bd_dGVzdHMvZXhzbHQvZHluYW1pYy9yZWN1cnNpb24ub3V0
--- /dev/null
+++ b/tests/exslt/dynamic/recursion.out
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<result/>
diff --git a/tests/exslt/dynamic/recursion.xml b/tests/exslt/dynamic/recursion.xml
new file mode 100644
index 0000000000000000000000000000000000000000..86ed8ac0e9968ac4f76c43f94316ebf930fa26bd_dGVzdHMvZXhzbHQvZHluYW1pYy9yZWN1cnNpb24ueG1s
--- /dev/null
+++ b/tests/exslt/dynamic/recursion.xml
@@ -0,0 +1,4 @@
+<doc>
+    <eval>dyn:evaluate(.)</eval>
+    <map>dyn:map(., .)</map>
+</doc>
diff --git a/tests/exslt/dynamic/recursion.xsl b/tests/exslt/dynamic/recursion.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..86ed8ac0e9968ac4f76c43f94316ebf930fa26bd_dGVzdHMvZXhzbHQvZHluYW1pYy9yZWN1cnNpb24ueHNs
--- /dev/null
+++ b/tests/exslt/dynamic/recursion.xsl
@@ -0,0 +1,21 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+ xmlns:dyn="http://exslt.org/dynamic"
+ exclude-result-prefixes="dyn"
+>
+
+<xsl:template match="/doc">
+  <result>
+    <xsl:apply-templates select="*"/>
+  </result>
+</xsl:template>
+
+<xsl:template match="eval">
+  <xsl:value-of select="dyn:evaluate(.)"/>
+</xsl:template>
+
+<xsl:template match="map">
+  <xsl:value-of select="dyn:map(., .)"/>
+</xsl:template>
+
+</xsl:stylesheet>
+