diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
index 4bc6c74ff8ec8ea1794970571611f87ac03bca12..888c7e24e64f1927a41db9bccc6a886b7b0e720c 100644
--- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
+++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
@@ -1665,21 +1665,27 @@ trait SolrMarcFincTrait
 
         $idRetrieval = function ($value) {
             // use preg_match to get rid of the isil
-            preg_match("/^(\([A-z]*-[A-z0-9]*\))?\s*([A-z0-9]*)\s*$/", $value, $matches);
+            preg_match(self::KXP_PATTERN, $value, $matches);
             if (!empty($matches[2])) {
-                $query = 'record_id:' . $matches[2];
+                $query = 'kxp_id_str:' . $matches[2];
                 if ($sid = $this->fields['source_id']) {
                     $query .= ' AND source_id:'.$sid;
                 }
-                $result = $this->searchService->search('Solr', new Query($query));
+                $result = $this->searchService->search(
+                    'Solr',
+                    new Query($query)
+                );
                 if (count($result) === 0) {
-                    $this->debug('Could not retrieve id for record with ' . $query);
+                    $this->debug(
+                        'Could not retrieve id for record with ' . $query
+                    );
                     return null;
                 }
                 return current($result->getRecords())->getUniqueId();
             }
-            $this->debug('Pregmatch pattern in getHierarchyParentID failed for ' .
-                $value
+            $this->debug(
+                'Pregmatch pattern in getHierarchyParentID failed for '
+                . $value
             );
             return $value;
         };