diff --git a/magick/xml-tree.c b/magick/xml-tree.c
index a9b6fd9..169f382 100644
--- a/magick/xml-tree.c
+++ b/magick/xml-tree.c
@@ -55,6 +55,7 @@
 #include "magick/memory_.h"
 #include "magick/semaphore.h"
 #include "magick/string_.h"
+#include "magick/string-private.h"
 #include "magick/xml-tree.h"
 #include "magick/utility.h"
 
@@ -244,7 +245,7 @@
     node=child;
     if (node == (XMLTreeInfo *) NULL)
       break;
-    for (j=atol(subnode)-1; j > 0; j--)
+    for (j=StringToLong(subnode)-1; j > 0; j--)
     {
       node=GetXMLTreeOrdered(node);
       if (node == (XMLTreeInfo *) NULL)
@@ -875,7 +876,7 @@
     node=GetXMLTreeChild(node,tag);
     if (node == (XMLTreeInfo *) NULL)
       break;
-    for (j=atol(subnode)-1; j > 0; j--)
+    for (j=StringToLong(subnode)-1; j > 0; j--)
     {
       node=GetXMLTreeOrdered(node);
       if (node == (XMLTreeInfo *) NULL)