- uniqueEPGKey service( HILO(eit->service_id), HILO(eit->original_network_id), HILO(eit->transport_stream_id) );
+ // Cablecom HACK .. tsid / onid in eit data are incorrect.. so we use
+ // it from running channel (just for current transport stream eit data)
+ bool use_transponder_chid = source == SCHEDULE || (source == NOWNEXT && data[0] == 0x4E);
+ eDVBChannelID chid = channel->channel->getChannelID();
+ uniqueEPGKey service( HILO(eit->service_id),
+ use_transponder_chid ? chid.original_network_id.get() : HILO(eit->original_network_id),
+ use_transponder_chid ? chid.transport_stream_id.get() : HILO(eit->transport_stream_id));
+