diff --git a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
index c7c67465e673f8df01185d33475536784704bc18..8d7ebafaf6c7028d6ded216c4da71c7bed4bb67b 100644
--- a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
+++ b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
@@ -1346,7 +1346,7 @@ protected class VirtualNode {
     Charset.Encoder e = Charset.encoder(encoding);
     e->set_replacement_callback(lambda(string c)
       {
-        return sprintf("&#%x;", c[0]);
+        return sprintf("&#x%x;", c[0]);
       });
     return e;
   }