diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result
index 999178a0d52..6c78e9eac55 100644
--- a/mysql-test/r/xml.result
+++ b/mysql-test/r/xml.result
@@ -1161,6 +1161,9 @@ UPDATEXML('x','(a)//a','')
SELECT ExtractValue('aabb','(a)/a|(a)/b');
ExtractValue('aabb','(a)/a|(a)/b')
aa bb
+SELECT ExtractValue('abc21','substring(/a/b,..)');
+ExtractValue('abc21','substring(/a/b,..)')
+
#
# End of 5.5 tests
#
diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test
index b36bd2067cc..7013a306270 100644
--- a/mysql-test/t/xml.test
+++ b/mysql-test/t/xml.test
@@ -673,6 +673,12 @@ SELECT UPDATEXML('x','(a)/a','');
SELECT UPDATEXML('x','(a)//a','');
SELECT ExtractValue('aabb','(a)/a|(a)/b');
+#
+# MDEV-5689 ExtractValue(xml, 'substring(/x,/y)') crashes
+# MySQL bug#12428404 MYSQLD.EXE CRASHES WHEN EXTRACTVALUE() IS CALLED WITH MALFORMED XPATH EXP
+#
+SELECT ExtractValue('abc21','substring(/a/b,..)');
+
--echo #
--echo # End of 5.5 tests
--echo #