diff --git a/pkg/downloader/chart_downloader.go b/pkg/downloader/chart_downloader.go
index 9262ea54758cad405fbb250d6b492aca41f02ce0..fe2f3ce92d79c91c6d20afc028fffa32979e9b38 100644
--- a/pkg/downloader/chart_downloader.go
+++ b/pkg/downloader/chart_downloader.go
@@ -167,7 +167,6 @@ func (c *ChartDownloader) ResolveChartVersionAndGetRepo(ref, version string) (*u
 	if err != nil {
 		return u, nil, nil, err
 	}
-	g.SetCredentials(c.getRepoCredentials(nil))
 
 	if u.IsAbs() && len(u.Host) > 0 && len(u.Path) > 0 {
 		// In this case, we have to find the parent repo that contains this chart
@@ -203,6 +202,7 @@ func (c *ChartDownloader) ResolveChartVersionAndGetRepo(ref, version string) (*u
 	repoName := p[0]
 	chartName := p[1]
 	rc, err := pickChartRepositoryConfigByName(repoName, rf.Repositories)
+
 	if err != nil {
 		return u, nil, nil, err
 	}
@@ -211,6 +211,7 @@ func (c *ChartDownloader) ResolveChartVersionAndGetRepo(ref, version string) (*u
 	if err != nil {
 		return u, nil, nil, err
 	}
+	g.SetCredentials(c.getRepoCredentials(r))
 
 	// Next, we need to load the index, and actually look up the chart.
 	i, err := repo.LoadIndexFile(c.HelmHome.CacheIndex(r.Config.Name))