diff -ruN tvheadend_ndms-bad.orig/src/epggrab/otamux.c tvheadend_ndms-bad/src/epggrab/otamux.c --- tvheadend_ndms-bad.orig/src/epggrab/otamux.c 2018-01-10 19:20:32.000000000 +0300 +++ tvheadend_ndms-bad/src/epggrab/otamux.c 2018-01-20 00:58:08.824625847 +0300 @@ -506,6 +506,7 @@ tvhtrace(LS_EPGGRAB, "ota - kick callback"); next_one: + om->om_retry_time = 0; /* Find the mux */ mm = mpegts_mux_find(om->om_mux_uuid); if (!mm) { @@ -610,7 +611,7 @@ done: om = TAILQ_FIRST(&epggrab_ota_pending); - if (networks_count < ARRAY_SIZE(networks) && om && om->om_retry_time < mclk()) + if (networks_count < ARRAY_SIZE(networks) && om && om->om_retry_time > mclk()) goto next_one; if (kick) epggrab_ota_kick(64); /* a random number? */