diff --git a/mythtv/libs/libmyth/programinfo.cpp b/mythtv/libs/libmyth/programinfo.cpp
index f444b44..2fb65d0 100644
--- a/mythtv/libs/libmyth/programinfo.cpp
+++ b/mythtv/libs/libmyth/programinfo.cpp
@@ -1982,12 +1982,12 @@ bool ProgramInfo::IsSameProgram(const ProgramInfo& other) const
     if ((dupmethod & kDupCheckSubThenDesc) &&
         ((subtitle.isEmpty() &&
           ((!other.subtitle.isEmpty() &&
-            description.compare(other.subtitle, Qt::CaseInsensitive) != 0) ||
+            description.left(other.subtitle.length()).compare(other.subtitle, Qt::CaseInsensitive) != 0) ||
            (other.subtitle.isEmpty() &&
             description.compare(other.description, Qt::CaseInsensitive) != 0))) ||
          (!subtitle.isEmpty() &&
           ((other.subtitle.isEmpty() &&
-            subtitle.compare(other.description, Qt::CaseInsensitive) != 0) ||
+            subtitle.compare(other.description.left(subtitle.length()), Qt::CaseInsensitive) != 0) ||
            (!other.subtitle.isEmpty() &&
             subtitle.compare(other.subtitle, Qt::CaseInsensitive) != 0)))))
         return false;
diff --git a/mythtv/programs/mythbackend/scheduler.cpp b/mythtv/programs/mythbackend/scheduler.cpp
index 575fbce..59d5206 100644
--- a/mythtv/programs/mythbackend/scheduler.cpp
+++ b/mythtv/programs/mythbackend/scheduler.cpp
@@ -3778,9 +3778,9 @@ void Scheduler::UpdateDuplicates(void)
 "          (p.subtitle <> '' AND "
 "             (p.subtitle = oldrecorded.subtitle OR "
 "              (oldrecorded.subtitle = '' AND "
-"               p.subtitle = oldrecorded.description))) OR "
+"               p.subtitle = LEFT(oldrecorded.description,CHAR_LENGTH(p.subtitle))))) OR "
 "          (p.subtitle = '' AND p.description <> '' AND "
-"             (p.description = oldrecorded.subtitle OR "
+"             (LEFT(p.description,CHAR_LENGTH(oldrecorded.subtitle)) = oldrecorded.subtitle OR "
 "              (oldrecorded.subtitle = '' AND "
 "               p.description = oldrecorded.description)))) "
 "      ) "
@@ -3816,9 +3816,9 @@ void Scheduler::UpdateDuplicates(void)
 "          (p.subtitle <> '' AND "
 "             (p.subtitle = recorded.subtitle OR "
 "              (recorded.subtitle = '' AND "
-"               p.subtitle = recorded.description))) OR "
+"               p.subtitle = LEFT(recorded.description,CHAR_LENGTH(p.subtitle))))) OR "
 "          (p.subtitle = '' AND p.description <> '' AND "
-"             (p.description = recorded.subtitle OR "
+"             (LEFT(p.description,CHAR_LENGTH(recorded.subtitle)) = recorded.subtitle OR "
 "              (recorded.subtitle = '' AND "
 "               p.description = recorded.description)))) "
 "      ) "
