Index: programs/mythbackend/scheduler.cpp
===================================================================
--- programs/mythbackend/scheduler.cpp	(revision 9856)
+++ programs/mythbackend/scheduler.cpp	(working copy)
@@ -671,13 +671,30 @@
     for ( ; j != cardlist.end(); j++)
     {
         ProgramInfo *q = *j;
+	
+	int pMplexid, qMplexid;
+	MSqlQuery query(dbConn);
 
+	query.prepare("SELECT mplexid FROM channel WHERE chanid = :CHANID;");
+	query.bindValue(":CHANID", p->chanid);
+        if (query.exec() && query.isActive())
+          {query.next();
+           pMplexid = query.value(0).toInt();}
+
+	query.prepare("SELECT mplexid FROM channel WHERE chanid = :CHANID;");
+	query.bindValue(":CHANID", q->chanid);
+        if (query.exec() && query.isActive())
+          {query.next();
+           qMplexid = query.value(0).toInt();}
+
         if (p == q)
             continue;
         if (!Recording(q))
             continue;
         if (p->cardid != 0 && p->cardid != q->cardid)
             continue;
+	if (p->cardid == q->cardid && pMplexid == qMplexid)
+	    continue;
         if (p->recendts <= q->recstartts || p->recstartts >= q->recendts)
             continue;
         if (p->inputid == q->inputid && p->shareable)
