diff --git a/module/VuFind/src/VuFind/Config/PluginFactory.php b/module/VuFind/src/VuFind/Config/PluginFactory.php
index 27bb59f5704c56b2e60688892d6d0e118ea71506..bf5f3c3ae7ee6ae7360053bcc7cdb088596859de 100644
--- a/module/VuFind/src/VuFind/Config/PluginFactory.php
+++ b/module/VuFind/src/VuFind/Config/PluginFactory.php
@@ -68,6 +68,6 @@ class PluginFactory implements AbstractFactoryInterface
     public function createServiceWithName(ServiceLocatorInterface $serviceLocator,
         $name, $requestedName
     ) {
-        return \VuFind\Config\Reader::getConfig($requestedName);
+        return \VuFind\Config\Reader::getConfig($requestedName, true);
     }
 }
diff --git a/module/VuFind/src/VuFind/Config/PluginManager.php b/module/VuFind/src/VuFind/Config/PluginManager.php
index d19396509f5a70a0ccd6ab50aad5a6d0833304da..5e89f3b95b7066a95c7a5895bda0f6976dc4bef5 100644
--- a/module/VuFind/src/VuFind/Config/PluginManager.php
+++ b/module/VuFind/src/VuFind/Config/PluginManager.php
@@ -54,4 +54,20 @@ class PluginManager extends Base
     {
         // Assume everything is okay.
     }
+
+    /**
+     * Reload a configuration and return the new version
+     *
+     * @param string $id Service identifier
+     *
+     * @return \Zend\Config\Config
+     */
+    public function reload($id)
+    {
+        $oldOverrideSetting = $this->getAllowOverride();
+        $this->setAllowOverride(true);
+        $this->setService($id, $this->create($id));
+        $this->setAllowOverride($oldOverrideSetting);
+        return $this->get($id);
+    }
 }
\ No newline at end of file
diff --git a/module/VuFind/src/VuFind/Controller/AdminController.php b/module/VuFind/src/VuFind/Controller/AdminController.php
index 592cb9a10c767ad0e0ec2250a7824a25258b3e37..52aca8f674cf3dbc06db6c74a5dd102625e80b3b 100644
--- a/module/VuFind/src/VuFind/Controller/AdminController.php
+++ b/module/VuFind/src/VuFind/Controller/AdminController.php
@@ -262,7 +262,7 @@ class AdminController extends AbstractBase
 
             // Reload config now that it has been edited (otherwise, old setting
             // will persist in cache):
-            ConfigReader::getConfig(null, true);
+            $this->getServiceLocator()->get('VuFind\Config')->reload('config');
         } else {
             $this->flashMessenger()->setNamespace('error')
                 ->addMessage(