diff --git a/plugins/inputs/apache/apache.go b/plugins/inputs/apache/apache.go
index a04d1bbb827ea4f8020286e784157d5cc5eca68f..1302e2d59e714766d2847041f9e9ea158a192f19 100644
--- a/plugins/inputs/apache/apache.go
+++ b/plugins/inputs/apache/apache.go
@@ -57,6 +57,8 @@ func (n *Apache) Description() string {
 }
 
 func (n *Apache) Gather(acc telegraf.Accumulator) error {
+	var wg sync.WaitGroup
+
 	if len(n.Urls) == 0 {
 		n.Urls = []string{"http://localhost/server-status?auto"}
 	}
@@ -72,8 +74,6 @@ func (n *Apache) Gather(acc telegraf.Accumulator) error {
 		n.client = client
 	}
 
-	var wg sync.WaitGroup
-	wg.Add(len(n.Urls))
 	for _, u := range n.Urls {
 		addr, err := url.Parse(u)
 		if err != nil {
@@ -81,6 +81,7 @@ func (n *Apache) Gather(acc telegraf.Accumulator) error {
 			continue
 		}
 
+		wg.Add(1)
 		go func(addr *url.URL) {
 			defer wg.Done()
 			acc.AddError(n.gatherUrl(addr, acc))