diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
index 1dcf7d1cf19265f523bbd52617e4dd0a64d6654c..8a3ac88aef2ff63cea035df49baff0e1062302c4 100644
--- a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
+++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
@@ -42,6 +42,8 @@ class MetaDataStorageHandlerSerialize extends MetaDataStorageSource
      */
     public function __construct(array $config)
     {
+        parent::__construct();
+
         $globalConfig = Configuration::getInstance();
 
         $cfgHelp = Configuration::loadFromArray($config, 'serialize metadata source');
diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageSource.php b/lib/SimpleSAML/Metadata/MetaDataStorageSource.php
index faef115c5ff069dce575b690464018afa936ff4c..9dac4f0c72a4250bcfb4149a9b4cda59f2ad06dd 100644
--- a/lib/SimpleSAML/Metadata/MetaDataStorageSource.php
+++ b/lib/SimpleSAML/Metadata/MetaDataStorageSource.php
@@ -8,6 +8,7 @@ use SimpleSAML\Assert\Assert;
 use SimpleSAML\Error;
 use SimpleSAML\Module;
 use SimpleSAML\Utils;
+use Symfony\Component\Filesystem\Filesystem;
 
 /**
  * This abstract class defines an interface for metadata storage sources.
@@ -21,6 +22,21 @@ use SimpleSAML\Utils;
 
 abstract class MetaDataStorageSource
 {
+    /**
+     * @var \Symfony\Component\Filesystem\Filesystem;
+     */
+    protected Filesystem $fileSystem;
+
+
+    /**
+     * This function initializes an XML metadata source.
+     */
+    protected function __construct()
+    {
+        $this->fileSystem = new Filesystem();
+    }
+
+
     /**
      * Parse array with metadata sources.
      *
diff --git a/lib/SimpleSAML/Metadata/Sources/MDQ.php b/lib/SimpleSAML/Metadata/Sources/MDQ.php
index c789f2de99fe3cc4367103538dbe442f2fe7b9ed..d96f882d5a5facb5edd6ecc4e2776b9cee69ebef 100644
--- a/lib/SimpleSAML/Metadata/Sources/MDQ.php
+++ b/lib/SimpleSAML/Metadata/Sources/MDQ.php
@@ -13,7 +13,6 @@ use SimpleSAML\Logger;
 use SimpleSAML\Metadata\MetaDataStorageSource;
 use SimpleSAML\Metadata\SAMLParser;
 use SimpleSAML\Utils;
-use Symfony\Component\Filesystem\Filesystem;
 use Symfony\Component\HttpFoundation\File\File;
 
 use function array_key_exists;
@@ -56,12 +55,6 @@ class MDQ extends MetaDataStorageSource
      */
     private int $cacheLength;
 
-    /**
-     * @var \Symfony\Component\Filesystem\Filesystem;
-     */
-    private Filesystem $fileSystem;
-
-
     /**
      * This function initializes the dynamic XML metadata source.
      *
@@ -79,6 +72,8 @@ class MDQ extends MetaDataStorageSource
      */
     protected function __construct(array $config)
     {
+        parent::__construct($config);
+
         if (!array_key_exists('server', $config)) {
             throw new Exception(__CLASS__ . ": the 'server' configuration option is not set.");
         } else {
@@ -97,8 +92,6 @@ class MDQ extends MetaDataStorageSource
         } else {
             $this->cacheLength = 86400;
         }
-
-        $this->fileSystem = new Filesystem();
     }