diff --git a/module/VuFind/src/VuFind/Config/SearchSpecsReader.php b/module/VuFind/src/VuFind/Config/SearchSpecsReader.php
index dcac9ac5a60245109cf2f0c68d4ec857537fcec8..f65a280a402ae931b80edc71c588f0d900ebdbb7 100644
--- a/module/VuFind/src/VuFind/Config/SearchSpecsReader.php
+++ b/module/VuFind/src/VuFind/Config/SearchSpecsReader.php
@@ -83,7 +83,8 @@ class SearchSpecsReader
             $local = Locator::getLocalConfigPath($filename);
 
             // Generate cache key:
-            $cacheKey = $filename . '-' . filemtime($fullpath);
+            $cacheKey = $filename . '-'
+                . (file_exists($fullpath) ? filemtime($fullpath) : 0);
             if (!empty($local)) {
                 $cacheKey .= '-local-' . filemtime($local);
             }
@@ -91,7 +92,7 @@ class SearchSpecsReader
 
             // Generate data if not found in cache:
             if ($cache === false || !($results = $cache->getItem($cacheKey))) {
-                $results = Yaml::parse($fullpath);
+                $results = file_exists($fullpath) ? Yaml::parse($fullpath) : array();
                 if (!empty($local)) {
                     $localResults = Yaml::parse($local);
                     foreach ($localResults as $key => $value) {