diff --git a/lib/SimpleSAML/Metadata/SAMLParser.php b/lib/SimpleSAML/Metadata/SAMLParser.php
index 975029129f73d17c039c6110dc3bfdac26f27d8b..db8cc0e39f00efbb19d4c5162e86d6c9d58a1c71 100644
--- a/lib/SimpleSAML/Metadata/SAMLParser.php
+++ b/lib/SimpleSAML/Metadata/SAMLParser.php
@@ -437,7 +437,9 @@ class SimpleSAML_Metadata_SAMLParser {
 	 * - 'entityid': The entity id of the entity described in the metadata.
 	 * - 'name': Autogenerated name for this entity. Currently set to the entity id.
 	 * - 'SingleSignOnService': String with the url of the SSO service which supports the redirect binding.
-	 * - 'SingleLogoutService': String with the url where we should send logout requests/responses.
+	 * - 'SingleLogoutService': String with the url where we should send logout requests(/responses).
+	 * - 'SingleLogoutServiceResponse': String where we should send logout responses (if this is different from
+	 *   the 'SingleLogoutService' endpoint.
 	 * - 'certFingerprint': Fingerprint of the X509Certificate from the metadata.
 	 *
 	 * Metadata must be loaded with one of the parse functions before this function can be called.
@@ -477,6 +479,11 @@ class SimpleSAML_Metadata_SAMLParser {
 		}
 		$ret['SingleLogoutService'] = $slo['location'];
 
+		/* If the response location is set, include it in the returned metadata. */
+		if($slo['responseLocation']) {
+			$ret['SingleLogoutServiceResponse'] = $slo['responseLocation'];
+		}
+
 
 		/* Find the certificate fingerprint. */
 		foreach($idp['keys'] as $key) {
@@ -676,7 +683,7 @@ class SimpleSAML_Metadata_SAMLParser {
 		$ep['location'] = $element->getAttribute('Location');
 
 		if($element->hasAttribute('ResponseLocation')) {
-			$ep['responseLocation'] = $element->getAttribute('Location');
+			$ep['responseLocation'] = $element->getAttribute('ResponseLocation');
 		}
 
 		if($isIndexed) {