diff --git a/src/Models/BaseElement.php b/src/Models/BaseElement.php index 49b816ee..9daaecd3 100644 --- a/src/Models/BaseElement.php +++ b/src/Models/BaseElement.php @@ -895,7 +895,9 @@ public function getAreaRelationName() if ($page) { $has_one = $page->config()->get('has_one'); - $area = $this->Parent(); + $class = DataObject::getSchema()->hasOneComponent($this, 'Parent'); + $area = ($this->ParentID) ? DataObject::get_by_id($class, $this->ParentID) : null; + $area = $area ?: ElementalArea::singleton(); foreach ($has_one as $relationName => $relationClass) { if ($page instanceof BaseElement && $relationName === 'Parent') {