diff --git a/src/EPGScanner.vala b/src/EPGScanner.vala
index cbd2fcc..32c789a 100644
--- a/src/EPGScanner.vala
+++ b/src/EPGScanner.vala
@@ -160,6 +160,7 @@ namespace DVB {
         public bool start () {
             log.debug ("Starting EPG scan for group %u (%d)", this.DeviceGroup.Id, this.stop_counter);
 
+            if (this.loop == null) {
             this.loop = new MainLoop (this.context, false);
             try {
                 this.worker_thread = new Thread<void*>.try ("EPG-Worker-Thread", this.worker);
@@ -167,6 +168,7 @@ namespace DVB {
                 log.error ("Could not create thread: %s", e.message);
                 return false;
             }
+            }
 
             this.stop_counter -= 1;
             if (this.stop_counter > 0) return false;
