diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result
index dda77cba04c..d127246e9d7 100644
--- a/mysql-test/r/xml.result
+++ b/mysql-test/r/xml.result
@@ -132,7 +132,7 @@ xb1 xc1
SELECT extractValue(@xml,'/a//@x[2]');
extractValue(@xml,'/a//@x[2]')
xb2 xc2
-SET @xml='b1b2c1b1c1b2c2b1';
+SET @xml='b1b2c1b1c1b2c2b1';
SELECT extractValue(@xml,'//b[1]');
extractValue(@xml,'//b[1]')
b1 c1b1 c2b1
@@ -1133,3 +1133,22 @@ NULL
Warnings:
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 11: STRING unexpected (ident or '/' wanted)'
End of 5.1 tests
+#
+# Start of 5.3 tests
+#
+#
+# MDEV-5338 XML parser accepts malformed data
+#
+SELECT ExtractValue('xxx','/a/b');
+ExtractValue('xxx','/a/b')
+NULL
+Warnings:
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 10: '' unexpected ('' wanted)'
+SELECT ExtractValue('xxx','/a/b');
+ExtractValue('xxx','/a/b')
+NULL
+Warnings:
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 13: '' unexpected ('' wanted)'
+#
+# End of 5.3 tests
+#
diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test
index 8db5ca75f1c..096ccc2cc06 100644
--- a/mysql-test/t/xml.test
+++ b/mysql-test/t/xml.test
@@ -53,7 +53,7 @@ SELECT extractValue(@xml,'/a//@x');
SELECT extractValue(@xml,'/a//@x[1]');
SELECT extractValue(@xml,'/a//@x[2]');
-SET @xml='b1b2c1b1c1b2c2b1';
+SET @xml='b1b2c1b1c1b2c2b1';
SELECT extractValue(@xml,'//b[1]');
SELECT extractValue(@xml,'/descendant::b[1]');
@@ -652,3 +652,17 @@ SELECT UPDATEXML(CONVERT(_latin1'