diff --git a/cmd/semantic-release/main.go b/cmd/semantic-release/main.go
index 22c67d4130012d95ae299f57f3b3a18595917c52..3ca9e475c3d3ab25ff923e7206c98fb48d7b5839 100644
--- a/cmd/semantic-release/main.go
+++ b/cmd/semantic-release/main.go
@@ -103,17 +103,21 @@ func cliHandler(cmd *cobra.Command, args []string) {
 
 	if conf.DownloadPlugins {
 		exitIfError(pluginManager.FetchAllPlugins())
-		logger.Println("all plugins are downloaded")
+		logger.Println("all plugins were downloaded!")
 		return
 	}
 
 	if !conf.PluginResolverDisableBatchPrefetch {
-		ok, _, pErr := pluginManager.PrefetchAllPluginsIfBatchIsPossible()
+		logger.Println("trying to prefetch plugins...")
+		pluginsWerePrefetched, _, pErr := pluginManager.PrefetchAllPluginsIfBatchIsPossible()
 		if pErr != nil {
 			logger.Printf("warning: failed to prefetch plugins: %v", pErr)
-		}
-		if ok {
-			logger.Println("all plugins were prefetched!")
+		} else {
+			if pluginsWerePrefetched {
+				logger.Println("all plugins were prefetched!")
+			} else {
+				logger.Println("prefetching plugins was not possible.")
+			}
 		}
 	}
 
diff --git a/pkg/plugin/manager/manager.go b/pkg/plugin/manager/manager.go
index 8ea720879b741b9adc13eb3acb51374181ea5d26..0b327ad5314ed33be61a69b4a652728bae00c449 100644
--- a/pkg/plugin/manager/manager.go
+++ b/pkg/plugin/manager/manager.go
@@ -166,6 +166,27 @@ func (m *PluginManager) checkIfSameResolvers(infos []*plugin.Info) (string, bool
 	return resolver, true
 }
 
+func (m *PluginManager) PrefetchAllPluginsIfBatchIsPossible() (bool, []*plugin.Info, error) {
+	pInfos, err := m.getAllPluginInfos()
+	if err != nil {
+		return false, nil, err
+	}
+
+	if m.config.PluginResolverDisableBatchPrefetch {
+		return false, pInfos, nil
+	}
+
+	if resolver, ok := m.checkIfSameResolvers(pInfos); ok && m.discovery.IsBatchResolver(resolver) {
+		// all plugins have the same resolver, and it supports batch resolving
+		bErr := m.discovery.FindPluginsWithBatchResolver(resolver, pInfos)
+		if bErr != nil {
+			return false, pInfos, bErr
+		}
+		return true, pInfos, nil
+	}
+	return false, pInfos, nil
+}
+
 func (m *PluginManager) FetchAllPlugins() error {
 	batchWasPossible, pInfos, err := m.PrefetchAllPluginsIfBatchIsPossible()
 	if err != nil && pInfos == nil {
@@ -184,20 +205,3 @@ func (m *PluginManager) FetchAllPlugins() error {
 	}
 	return nil
 }
-
-func (m *PluginManager) PrefetchAllPluginsIfBatchIsPossible() (bool, []*plugin.Info, error) {
-	pInfos, err := m.getAllPluginInfos()
-	if err != nil {
-		return false, nil, err
-	}
-
-	if resolver, ok := m.checkIfSameResolvers(pInfos); ok && m.discovery.IsBatchResolver(resolver) {
-		// all plugins have the same resolver, and it supports batch resolving
-		bErr := m.discovery.FindPluginsWithBatchResolver(resolver, pInfos)
-		if bErr != nil {
-			return false, pInfos, bErr
-		}
-		return true, pInfos, nil
-	}
-	return false, pInfos, nil
-}