diff --git a/module/VuFind/src/VuFind/Hierarchy/TreeDataSource/Solr.php b/module/VuFind/src/VuFind/Hierarchy/TreeDataSource/Solr.php
index 451fea283bbbb7c069101a0d6e27cdaa409f75bb..1fe4a1277ddea3631534041e9a7edbbe275a688e 100644
--- a/module/VuFind/src/VuFind/Hierarchy/TreeDataSource/Solr.php
+++ b/module/VuFind/src/VuFind/Hierarchy/TreeDataSource/Solr.php
@@ -195,6 +195,10 @@ class Solr extends AbstractBase
             $parents = isset($current->hierarchy_parent_id)
                 ? $current->hierarchy_parent_id : [];
             foreach ($parents as $parentId) {
+                if ($current->id === $parentId) {
+                    // Ignore circular reference
+                    continue;
+                }
                 if (!isset($map[$parentId])) {
                     $map[$parentId] = [$current];
                 } else {