diff --git a/mythtv/libs/libmyth/programinfo.h b/mythtv/libs/libmyth/programinfo.h
index 421e5cf..1340683 100644
--- a/mythtv/libs/libmyth/programinfo.h
+++ b/mythtv/libs/libmyth/programinfo.h
@@ -809,7 +809,8 @@ bool LoadFromScheduler(
     AutoDeleteDeque<TYPE*> &destination,
     bool               &hasConflicts,
     QString             altTable = "",
-    int                 recordid = -1)
+    int                 recordid = -1,
+    bool                filter = true)
 {
     destination.clear();
     QList<TYPE> tmpList;
@@ -837,7 +838,7 @@ bool LoadFromScheduler(
         tmpList.push_back(*p);
         programCount++;
 
-        if (recordid > 0 && p->GetRecordingRuleID() != static_cast<uint>(recordid))
+        if (filter && recordid > 0 && p->GetRecordingRuleID() != static_cast<uint>(recordid))
         {
             delete p;
             continue;
@@ -880,7 +881,7 @@ template<typename T>
 bool LoadFromScheduler(AutoDeleteDeque<T> &destination)
 {
     bool dummyConflicts;
-    return LoadFromScheduler(destination, dummyConflicts, "", -1);
+    return LoadFromScheduler(destination, dummyConflicts, "", -1, true);
 }
 
 // Moved from programdetails.cpp/h, used by MythWelcome/MythShutdown
diff --git a/mythtv/programs/mythfrontend/viewschedulediff.cpp b/mythtv/programs/mythfrontend/viewschedulediff.cpp
index c0218df..3e9ddd7 100644
--- a/mythtv/programs/mythfrontend/viewschedulediff.cpp
+++ b/mythtv/programs/mythfrontend/viewschedulediff.cpp
@@ -197,7 +197,7 @@ void ViewScheduleDiff::fillList(void)
     bool dummy;
 
     LoadFromScheduler(m_recListBefore, dummy);
-    LoadFromScheduler(m_recListAfter,  dummy, m_altTable, m_recordid);
+    LoadFromScheduler(m_recListAfter,  dummy, m_altTable, m_recordid, false);
 
     std::stable_sort(m_recListBefore.begin(), m_recListBefore.end(),
                      comp_recstart_less_than);
