diff --git a/exporter/exporter.go b/exporter/exporter.go
index ed799ff188a087cfdeb9fff298622c654163e60e..ae1986ed94ee31b41517cf12c60f609f74fb06b6 100644
--- a/exporter/exporter.go
+++ b/exporter/exporter.go
@@ -106,12 +106,14 @@ func (e *Exporter) Collect(ch chan<- prometheus.Metric) {
 }
 
 func (e *Exporter) collectItems(ch chan<- prometheus.Metric, wg *sync.WaitGroup) {
+	defer wg.Done()
 	res, err := http.Get("http://localhost:8080/api/items")
 	if err != nil {
+		e.logger.Println("exporter collecting items failed: ", err)
 		return
 	}
 	var items []Item
-	if err := json.NewDecoder(res.Body).Decode(&items); err != nil {
+	if err = json.NewDecoder(res.Body).Decode(&items); err != nil {
 		log.Println(err)
 		return
 	}
@@ -133,9 +135,8 @@ func (e *Exporter) collectItems(ch chan<- prometheus.Metric, wg *sync.WaitGroup)
 	}
 	e.itemsAvailable.Collect(ch)
 	e.itemsTotal.Collect(ch)
-	wg.Done()
 
 }
 func (e *Exporter) collectPurchases(ch chan<- prometheus.Metric, wg *sync.WaitGroup) {
-	wg.Done()
+	defer wg.Done()
 }