diff --git a/.gitattributes b/.gitattributes
index 2246fcac5c5a1d59c09be43be5ff92170433c030..258bd6739a8abca8930d98c88cf62e83e38f5dee 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -159,7 +159,6 @@ testfont binary
 /lib/modules/Parser.pmod/Python.pmod foreign_ident
 /lib/modules/Parser.pmod/RCS.pike foreign_ident
 /lib/modules/Parser.pmod/SGML.pike foreign_ident
-/lib/modules/Parser.pmod/XML.pmod/Tree.pmod foreign_ident
 /lib/modules/Parser.pmod/XML.pmod/Validating.pike foreign_ident
 /lib/modules/Parser.pmod/XML.pmod/testsuite.in foreign_ident
 /lib/modules/Parser.pmod/module.pmod foreign_ident
diff --git a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
index bd65f2ad8cf75fa9af20eb77c7133781e5844b3b..05cf8b3354855402c28d7be75ff1b1792ebfef79 100644
--- a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
+++ b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
@@ -1,7 +1,7 @@
 #pike __REAL_VERSION__
 
 /*
- * $Id: Tree.pmod,v 1.72 2008/06/28 16:36:55 nilsson Exp $
+ * $Id$
  *
  */
 
@@ -283,7 +283,7 @@ class AbstractSimpleNode {
   //! Returns an initialized copy of the node.
   //! @note
   //!   The returned node has no children.
-  AbstractSimpleNode low_clone() {
+  optional AbstractSimpleNode low_clone() {
     return AbstractSimpleNode();
   }
 
@@ -537,7 +537,7 @@ class AbstractNode {
   //! Returns an initialized copy of the node.
   //! @note
   //!   The returned node has no children, and no parent.
-  AbstractNode low_clone()
+  optional AbstractNode low_clone()
   {
     return AbstractNode();
   }
@@ -1309,7 +1309,7 @@ class SimpleNode
   inherit VirtualNode;
 
   // Needed for cross-overloading
-  SimpleNode low_clone()
+  optional SimpleNode low_clone()
   {
     return VirtualNode::low_clone();
   }
@@ -1323,7 +1323,7 @@ class Node
   inherit VirtualNode;
 
   // Needed for cross-overloading
-  Node low_clone()
+  optional Node low_clone()
   {
     return VirtualNode::low_clone();
   }