diff --git a/concrete/src/Page/Page.php b/concrete/src/Page/Page.php
index <HASH>..<HASH> 100644
--- a/concrete/src/Page/Page.php
+++ b/concrete/src/Page/Page.php
@@ -3223,8 +3223,12 @@ EOT
 
             $children = $this->getCollectionChildren();
             if (count($children) > 0) {
+                $myCollectionID = $this->getCollectionID();
                 foreach ($children as $child) {
-                    $child->rescanCollectionPath();
+                    // Let's avoid recursion caused by potentially malformed data
+                    if ($child->getCollectionID() !== $myCollectionID) {
+                        $child->rescanCollectionPath();
+                    }
                 }
             }
         //}
Avoid infinite recursion in Page::rescanCollectionPath() (#<I>)

In case we have malformed data in the Pages table (that is, cID === cParentID), the rescanCollectionPath method runs forever.

Let's avoid that.