Index: eitfixup.cpp
===================================================================
--- eitfixup.cpp	(revision 23791)
+++ eitfixup.cpp	(working copy)
@@ -155,6 +155,9 @@
     if (kFixNL & event.fixup)
         FixNL(event);
 
+    if (kFixShortMovie & event.fixup)
+        FixShortMovie(event);
+
     if (event.fixup)
     {
         if (!event.title.isEmpty())
@@ -1483,3 +1486,19 @@
     event.subtitle    = event.subtitle.trimmed();
 
 }
+
+/** \fn EITFixUp::FixShortMovie(DBEventEIT&) const
+ *  \brief Use this to drop category movie from short event.
+ */
+void EITFixUp::FixShortMovie(DBEventEIT &event) const
+    /* not a movie if the duration of the whole event,
+     * including ads etc, is less then 90 minutes
+     */
+    const int minimumMovieDuration = 90*60;
+    if (event.categoryType == kCategoryMovie) {
+		if (event.starttime.secsTo(event.endtime) < minimumMovieDuration) {
+			/* default taken from ContentDescriptor::GetMythCategory */
+			event.categoryType = kCategoryTVShow;
+		}
+	}
+}
Index: eitfixup.h
===================================================================
--- eitfixup.h	(revision 23791)
+++ eitfixup.h	(working copy)
@@ -45,6 +45,7 @@
         kFixPremiere   = 0x0400,
         kFixHDTV       = 0x0800,
         kFixNL         = 0x1000,
+        kFixShortMovie = 0x8000,
 
         // Early fixups
         kEFixForceISO8859_1  = 0x2000,
Index: eithelper.cpp
===================================================================
--- eithelper.cpp	(revision 23791)
+++ eithelper.cpp	(working copy)
@@ -744,13 +744,13 @@
     // MultiChoice Africa
     fix[ 6144U << 16] = EITFixUp::kFixMCA;
 
-    // RTL Subtitle parsing
+    // RTL Subtitle parsing and removing category movie from short events
     fix[      1089LL << 32 |     1  << 16] = // DVB-S
         fix[   773LL << 32 |  8468U << 16] = // DVB-T Berlin/Brandenburg
         fix[  2819LL << 32 |  8468U << 16] = // DVB-T Niedersachsen + Bremen
         fix[  8706LL << 32 |  8468U << 16] = // DVB-T NRW
         fix[ 12801LL << 32 |  8468U << 16] = // DVB-T Bayern
-        EITFixUp::kFixRTL;
+        EITFixUp::kFixRTL | EITFixUp::kFixShortMovie;
 
     // Premiere EIT processing
     fix[   1LL << 32 |  133 << 16] = EITFixUp::kFixPremiere;
