diff --git a/src/xercesc/dom/impl/DOMRangeImpl.cpp b/src/xercesc/dom/impl/DOMRangeImpl.cpp
index ef93e36f72ae1a7bfdc555d205f59f7a9f0b13d9..9ee756c4781e05c0705d9ea417157a4cde71ab23 100644
--- a/src/xercesc/dom/impl/DOMRangeImpl.cpp
+++ b/src/xercesc/dom/impl/DOMRangeImpl.cpp
@@ -531,7 +531,7 @@ void DOMRangeImpl::selectNode(const DOMNode* refNode)
         fEndContainer = parent;
 
         XMLSize_t i = 0;
-        for (DOMNode* n = parent->getFirstChild(); n!=0, n!=refNode; n = n->getNextSibling()) {
+        for (DOMNode* n = parent->getFirstChild(); n!=0 && n!=refNode; n = n->getNextSibling()) {
             i++;
         }