diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
index 288ed5dbff703dc96eb6f1e33ae087e855199473..292bfa5182af850dbc57ed178de93b8d79b68d12 100644
--- a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
+++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
@@ -39,7 +39,7 @@ class SimpleSAML_Metadata_MetaDataStorageHandlerSerialize extends SimpleSAML_Met
 		/* Resolve this directory relative to the simpleSAMLphp directory (unless it is
 		 * an absolute path).
 		 */
-		$this->directory = $globalConfig->resolvePath($this->directory) . '/';
+		$this->directory = $globalConfig->resolvePath($this->directory);
 	}
 
 
@@ -67,8 +67,9 @@ class SimpleSAML_Metadata_MetaDataStorageHandlerSerialize extends SimpleSAML_Met
 
 		$ret = array();
 
-		$dh = opendir($this->directory);
+		$dh = @opendir($this->directory);
 		if ($dh === FALSE) {
+			SimpleSAML_Logger::warning('Serialize metadata handler: Unable to open directory: ' . var_export($this->directory, TRUE));
 			return $ret;
 		}
 
@@ -82,6 +83,7 @@ class SimpleSAML_Metadata_MetaDataStorageHandlerSerialize extends SimpleSAML_Met
 			$path = $this->directory . '/' . $entry;
 
 			if (!is_dir($path)) {
+				SimpleSAML_Logger::warning('Serialize metadata handler: Metadata directory contained a file where only directories should exist: ' . var_export($path, TRUE));
 				continue;
 			}
 
@@ -106,10 +108,15 @@ class SimpleSAML_Metadata_MetaDataStorageHandlerSerialize extends SimpleSAML_Met
 		$ret = array();
 
 		$dir = $this->directory . '/' . rawurlencode($set);
-		if(!is_dir($dir)) return $ret;
-		$dh = opendir($dir);
+		if (!is_dir($dir)) {
+			/* Probably some code asked for a metadata set which wasn't available. */
+			return $ret;
+		}
+
+		$dh = @opendir($dir);
 		if ($dh === FALSE) {
-			return NULL;
+			SimpleSAML_Logger::warning('Serialize metadata handler: Unable to open directory: ' . var_export($dir, TRUE));
+			return $ret;
 		}
 
 		$extLen = strlen(self::EXTENSION);
@@ -156,14 +163,14 @@ class SimpleSAML_Metadata_MetaDataStorageHandlerSerialize extends SimpleSAML_Met
 			return NULL;
 		}
 
-		$data = file_get_contents($filePath);
+		$data = @file_get_contents($filePath);
 		if ($data === FALSE) {
 			SimpleSAML_Logger::warning('Error reading file ' . $filePath .
 				': ' . SimpleSAML_Utilities::getLastError());
 			return NULL;
 		}
 
-		$data = unserialize($data);
+		$data = @unserialize($data);
 		if ($data === FALSE) {
 			SimpleSAML_Logger::warning('Error deserializing file: ' . $filePath);
 			return NULL;