diff --git a/importer/fetch.go b/importer/fetch.go
index bee2095b2d45cd68fd58dfcf5c2499b9f3b2d225..756d1f9ddc92115e908fefbbec08d6ade1740be4 100644
--- a/importer/fetch.go
+++ b/importer/fetch.go
@@ -105,6 +105,8 @@ func (job *Job) fetch() error {
 		job.im.errLog.Printf("fetch(): creating fetch converter failed: %v", err)
 		return err
 	}
+	// from here on conv.Close() and conv.Wait() has to be called in any case to
+	// reap potential child process zombies
 
 	done := make(chan copyResult)
 	go func() {
@@ -128,6 +130,7 @@ func (job *Job) fetch() error {
 	select {
 	case <-job.ctx.Done():
 		conv.Close()
+		go conv.Wait() // do the zombie reaping in seperate go routine since we are not interested in the result anyway
 		err = job.ctx.Err()
 		job.source.done <- &JobSourceResult{Err: err}
 		return err