diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
index 48eda402438e4243db0338bc0cdc923a25726239..e40ddeb3b8df14fddf6ad7b93d00b560a077b0ae 100644
--- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
+++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
@@ -1575,12 +1575,30 @@ trait SolrMarcFincTrait
             }
         }
 
+        if (empty($retval)) {
+            $retval = parent::getAllSubjectHeadings();
+        }
+
         // Remove duplicates and then send back everything we collected:
         return array_map(
             'unserialize', array_unique(array_map('serialize', $retval))
         );
     }
 
+    /**
+     * Check if Topics exists. Realized for instance of UBL only.
+     *
+     * @return boolean      True if topics exist.
+     * @access public
+     */
+    public function hasTopics()
+    {
+        $rvk = $this->getRvkWithMetadata();
+        return (parent::hasTopics()
+            || (is_array($rvk) && count($rvk) > 0)
+        );
+    }
+
     /**
      * Get specific marc information about topics. Unflexible solution
      * for UBL only implemented.