diff --git a/lib/SimpleSAML/Bindings/Shib13/Artifact.php b/lib/SimpleSAML/Bindings/Shib13/Artifact.php
index befa748b052dd0ff72e26cff38fd420c86141790..263335e37d554c1c24fccea8b27f787ed7953381 100644
--- a/lib/SimpleSAML/Bindings/Shib13/Artifact.php
+++ b/lib/SimpleSAML/Bindings/Shib13/Artifact.php
@@ -122,8 +122,8 @@ class SimpleSAML_Bindings_Shib13_Artifact {
 		$artifacts = self::getArtifacts();
 		$request = self::buildRequest($artifacts);
 
-		$url = 'https://skjak.uninett.no:1245/test...';
-		$url = $idpMetadata->getString('ArtifactResolutionService');
+		$url = $idpMetadata->getDefaultEndpoint('ArtifactResolutionService', array('urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding'));
+		$url = $url['Location'];
 
 		$certData = SimpleSAML_Utilities::loadPublicKey($idpMetadata->toArray(), TRUE);
 		if (!array_key_exists('PEM', $certData)) {
diff --git a/lib/SimpleSAML/XML/Shib13/AuthnRequest.php b/lib/SimpleSAML/XML/Shib13/AuthnRequest.php
index 3426375af43b2db2c524c8f276c3a0c24a971cda..1ea130cd682ac774419118c0a26b75ceb3ebc5f7 100644
--- a/lib/SimpleSAML/XML/Shib13/AuthnRequest.php
+++ b/lib/SimpleSAML/XML/Shib13/AuthnRequest.php
@@ -75,17 +75,15 @@ class SimpleSAML_XML_Shib13_AuthnRequest {
 	
 	public function createRedirect($destination, $shire = NULL) {
 		$metadata = SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler();
-		$idpmetadata = $metadata->getMetaData($destination, 'shib13-idp-remote');
+		$idpmetadata = $metadata->getMetaDataConfig($destination, 'shib13-idp-remote');
 
 		if ($shire === NULL) {
 			$shire = $metadata->getGenerated('AssertionConsumerService', 'shib13-sp-hosted');
 		}
 
-		if (!isset($idpmetadata['SingleSignOnService'])) {
-			throw new Exception('Could not find the SingleSignOnService parameter in the Shib 1.3 IdP Remote metadata. This parameter has changed name from an earlier version of simpleSAMLphp, when it was called SingleSignOnUrl. Please check your shib13-sp-remote.php configuration the IdP with entity id ' . $destination . ' and make sure the SingleSignOnService parameter is set.');
-		}
-		
-		$desturl = $idpmetadata['SingleSignOnService'];
+		$desturl = $idpmetadata->getDefaultEndpoint('SingleSignOnService', array('urn:mace:shibboleth:1.0:profiles:AuthnRequest'));
+		$desturl = $desturl['Location'];
+
 		$target = $this->getRelayState();
 		
 		$url = $desturl . '?' .
diff --git a/www/shib13/idp/SSOService.php b/www/shib13/idp/SSOService.php
index 7d7b956933540d0cc845f17f9606fb9e6286aab8..704b2278614b4c04d511f49986c84a74188a536e 100644
--- a/www/shib13/idp/SSOService.php
+++ b/www/shib13/idp/SSOService.php
@@ -164,16 +164,18 @@ try {
 
 	/* Validate the Shire the response should be sent to. */
 	$shire = $requestcache['shire'];
-	if (!$spMetadata->hasValue('AssertionConsumerService')) {
-		throw new Exception('Could not find [AssertionConsumerService] in Shib 1.3 Service Provider remote metadata.');
-	}
 	$foundACS = FALSE;
-	foreach ($spMetadata->getArrayizeString('AssertionConsumerService') as $acs) {
-		if ($acs === $shire) {
-			SimpleSAML_Logger::info('Shib1.3 - IdP.SSOService: Found AssertionConsumerService: '. $acs);
-			$foundACS = TRUE;
-			break;
+	foreach ($spMetadata->getEndpoints('AssertionConsumerService') as $acs) {
+		if ($acs['Binding'] !== 'urn:oasis:names:tc:SAML:1.0:profiles:browser-post') {
+			continue;
+		}
+		if ($acs['Location'] !== $shire) {
+			continue;
 		}
+
+		SimpleSAML_Logger::info('Shib1.3 - IdP.SSOService: Found AssertionConsumerService: '. $acs);
+		$foundACS = TRUE;
+		break;
 	}
 	if (!$foundACS) {
 		throw new Exception('Invalid AssertionConsumerService for SP ' .