diff --git a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
index 1d2bf0f..7ac640c 100644
--- a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
+++ b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
@@ -610,8 +610,7 @@
             {
                 Credentials creds = new UsernamePasswordCredentials( username, password );
 
-                AuthScope targetScope = getBasicAuthScope().getScope( getRepository().getHost(),
-                                                                    getRepository().getPort() );
+                AuthScope targetScope = AuthScope.ANY;
                 credentialsProvider.setCredentials( targetScope, creds );
             }
         }
@@ -775,7 +774,7 @@
         // FIXME Perform only when preemptive has been configured
         Repository repo = getRepository();
         HttpHost targetHost = new HttpHost( repo.getHost(), repo.getPort(), repo.getProtocol() );
-        AuthScope targetScope = getBasicAuthScope().getScope( targetHost );
+        AuthScope targetScope = AuthScope.ANY;
 
         if ( credentialsProvider.getCredentials( targetScope ) != null )
         {
@@ -974,7 +973,7 @@
         if ( config != null && config.isUsePreemptive() )
         {
             HttpHost targetHost = new HttpHost( repo.getHost(), repo.getPort(), repo.getProtocol() );
-            AuthScope targetScope = getBasicAuthScope().getScope( targetHost );
+            AuthScope targetScope = AuthScope.ANY;
 
             if ( credentialsProvider.getCredentials( targetScope ) != null )
             {
diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java
index 2aac440..6c53166 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java
@@ -161,7 +161,7 @@
         // FIXME Perform only when preemptive has been configured
         Repository repo = getRepository();
         HttpHost targetHost = new HttpHost( repo.getHost(), repo.getPort(), repo.getProtocol() );
-        AuthScope targetScope = getBasicAuthScope().getScope( targetHost );
+        AuthScope targetScope = AuthScope.ANY;
 
         if ( getCredentialsProvider().getCredentials( targetScope ) != null )
         {
