diff --git a/local/cache/.gitignore b/local/cache/.gitignore
deleted file mode 100644
index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000
--- a/local/cache/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/module/finc/src/finc/View/Helper/Root/Record.php b/module/finc/src/finc/View/Helper/Root/Record.php
index 92b0d27f079b1869642b6e6f53e22cb54d10f87a..41f4f5ec9f4cb055cecb9137d6bee6e787ff75fa 100644
--- a/module/finc/src/finc/View/Helper/Root/Record.php
+++ b/module/finc/src/finc/View/Helper/Root/Record.php
@@ -158,19 +158,21 @@ class Record extends \VuFind\View\Helper\Root\Record
 
         foreach ($this->config->ExternalAccess as $recordType => $accessUrl) {
             switch ($recordType) {
-                case "id":
-                    $replaceId = $this->driver->getUniqueID();
-                    break;
-                case "ppn":
-                    $replaceId = $this->driver->tryMethod('getRID');
-                    break;
-                default:
-                    $replaceId = null;
+            case "id":
+                $replaceId = $this->driver->getUniqueID();
+                break;
+            case "ppn":
+                $sourceID = $this->driver->tryMethod('getSourceID');
+                $replaceId = (isset($sourceID)
+                    && true === in_array($sourceID, ["0", "112"]))
+                    ? $this->driver->tryMethod('getRID') : null;
+                break;
+            default:
+                $replaceId = null;
             }
             foreach ($accessUrl as $institution => $urlPattern) {
-                if (
-                    true === in_array($institution, $institutions) &&
-                    !empty($replaceId)
+                if (true === in_array($institution, $institutions)
+                    && !empty($replaceId)
                 ) {
                     $extUrls[++$i]['desc'] = $institution;
                     $extUrls[$i]['url'] = sprintf($urlPattern, $replaceId);