diff -Naur mythtv-0.24-20110321-old/mythtv/libs/libmythtv/eithelper.cpp mythtv-0.24-20110321-new/mythtv/libs/libmythtv/eithelper.cpp
--- mythtv-0.24-20110321-old/mythtv/libs/libmythtv/eithelper.cpp	2011-03-21 07:15:34.000000000 +0100
+++ mythtv-0.24-20110321-new/mythtv/libs/libmythtv/eithelper.cpp	2011-03-31 20:15:52.000000000 +0200
@@ -34,6 +34,7 @@
                                 uint atscmajor, uint atscminor);
 static uint get_chan_id_from_db(uint sourceid,  uint serviceid,
                                 uint networkid, uint transportid);
+static uint get_mapped_chan_id_from_db(uint serviceid);
 static void init_fixup(QMap<uint64_t,uint> &fix);
 static int calc_eit_utc_offset(void);

@@ -485,6 +486,21 @@
             seriesId,  programId);
 
         db_events.enqueue(event);
+
+        uint mapped_chanid = GetMappedChanID(eit->ServiceID());
+
+        if (mapped_chanid > 0)
+        {
+            DBEventEIT *event = new DBEventEIT(mapped_chanid,
+                                         title,     subtitle,      description,
+                                         category,  category_type,
+                                         starttime, endtime,       fix,
+                                         subtitle_type,
+                                         audio_props,
+                                         video_props, stars,
+                                         seriesId,  programId);
+            db_events.enqueue(event);
+        }
     }
 }
 
@@ -692,11 +708,25 @@
 
     uint chanid = get_chan_id_from_db(sourceid, serviceid, networkid, tsid);
     if (chanid)
+	{
         srv_to_chanid[key] = chanid;
 
+        uint mapped_chanid = get_mapped_chan_id_from_db(serviceid);
+        if(mapped_chanid)
+            serviceid_to_mapped_chanid[serviceid] = mapped_chanid;
+    }
+
     return chanid;
 }
 
+uint EITHelper::GetMappedChanID(uint serviceid)
+{
+    ServiceIDToMappedChanID::const_iterator it = serviceid_to_mapped_chanid.find(serviceid);
+    if (it != serviceid_to_mapped_chanid.end())
+        return max(*it, 0);
+    return 0;
+} 
+
 static uint get_chan_id_from_db(uint sourceid,
                                 uint atsc_major, uint atsc_minor)
 {
@@ -767,6 +797,28 @@
     return useOnAirGuide ? chanid : 0;
 }
 
+static uint get_mapped_chan_id_from_db(uint serviceid)
+{
+    MSqlQuery query(MSqlQuery::InitCon());
+
+    QString qstr =
+        "SELECT mapped_chanid "
+        "FROM eit_mapping "
+        "WHERE serviceid = :SERVICEID";
+
+    query.prepare(qstr);
+    query.bindValue(":SERVICEID", serviceid);
+    if (!query.exec() || !query.isActive())
+        MythDB::DBError("Looking up mapped chanID", query);
+
+    if (query.next())
+    {
+        return query.value(0).toUInt();
+    }
+
+    return 0;
+}
+
 static void init_fixup(QMap<uint64_t,uint> &fix)
 {
     ///////////////////////////////////////////////////////////////////////////
diff -Naur mythtv-0.24-20110321-old/mythtv/libs/libmythtv/eithelper.h mythtv-0.24-20110321-new/mythtv/libs/libmythtv/eithelper.h
--- mythtv-0.24-20110321-old/mythtv/libs/libmythtv/eithelper.h	2011-03-21 07:15:34.000000000 +0100
+++ mythtv-0.24-20110321-new/mythtv/libs/libmythtv/eithelper.h	2011-03-31 20:19:54.000000000 +0200
@@ -45,6 +45,7 @@
 typedef QMap<uint,EventIDToATSCEvent>      ATSCSRCToEvents;
 typedef QMap<uint,EventIDToETT>            ATSCSRCToETTs;
 typedef QMap<unsigned long long,int>       ServiceToChanID;
+typedef QMap<int,int>                      ServiceIDToMappedChanID;
 
 class DBEventEIT;
 class EITFixUp;
@@ -92,6 +93,7 @@
   private:
     uint GetChanID(uint atsc_major, uint atsc_minor);
     uint GetChanID(uint serviceid, uint networkid, uint transportid);
+	uint GetMappedChanID(uint serviceid);
 
     void CompleteEvent(uint atsc_major, uint atsc_minor,
                        const ATSCEvent &event,
@@ -100,6 +102,7 @@
         //QListList_Events  eitList;      ///< Event Information Tables List
     mutable QMutex    eitList_lock; ///< EIT List lock
     mutable ServiceToChanID srv_to_chanid;
+    mutable ServiceIDToMappedChanID serviceid_to_mapped_chanid;
 
     EITFixUp               *eitfixup;
     static EITCache        *eitcache;

