diff --git a/modules/multiauth/docs/multiauth.txt b/modules/multiauth/docs/multiauth.txt
index 93bd55e7eebc8ac24a6d988d9bcfa3d12627ab10..4c0f52be251beedf8c5f90ede310930e2581d83b 100644
--- a/modules/multiauth/docs/multiauth.txt
+++ b/modules/multiauth/docs/multiauth.txt
@@ -64,4 +64,11 @@ For example:
     htttps://example.com/service/?source=saml
     
 will take you directly to the SAML authentication source, instead 
-of hitting the multiauth select page.
+of hitting the multiauth select page, but this works only if you 
+don't have redirections during the authentification process.
+
+You can also use the multiauth:preselect parameter to the login call :
+   $as = new SimpleSAML_Auth_Simple('my-multiauth-authsource');
+   $as->login(array(
+       'multiauth:preselect' => 'default-sp',
+   ));
diff --git a/modules/multiauth/www/selectsource.php b/modules/multiauth/www/selectsource.php
index 41f0c73b3cf02c61b77534cb6065c29c2d14e773..2602f6f16fbe0a328c9719f2840dbaf845446ab0 100644
--- a/modules/multiauth/www/selectsource.php
+++ b/modules/multiauth/www/selectsource.php
@@ -22,6 +22,9 @@ $state = SimpleSAML_Auth_State::loadState($authStateId, sspmod_multiauth_Auth_So
 if (array_key_exists('source', $_REQUEST)) {
 	$source = $_REQUEST['source'];
 	sspmod_multiauth_Auth_Source_MultiAuth::delegateAuthentication($source, $state);
+} elseif (array_key_exists('multiauth:preselect', $state)) {
+	$source = $state['multiauth:preselect'];
+	sspmod_multiauth_Auth_Source_MultiAuth::delegateAuthentication($source, $state);
 }
 
 $globalConfig = SimpleSAML_Configuration::getInstance();