Index: libs/libmythtv/mpeg/dvbstreamdata.cpp
===================================================================
--- libs/libmythtv/mpeg/dvbstreamdata.cpp	(revision 9486)
+++ libs/libmythtv/mpeg/dvbstreamdata.cpp	(working copy)
@@ -161,17 +161,21 @@
         }
         case TableID::SDT:
         {
-            uint tsid = psip.TableIDExtension();
-            SetVersionSDT(tsid, psip.Version(), psip.LastSection());
-            SetSDTSectionSeen(tsid, psip.Section());
-            ServiceDescriptionTable sdt(psip);
-
-            if (_cache_tables)
-                CacheSDT(&sdt);
-
-            emit UpdateSDT(tsid, &sdt);
-
-            return true;
+            if (HasAllNITSections())
+            {
+                uint tsid = psip.TableIDExtension();
+                SetVersionSDT(tsid, psip.Version(), psip.LastSection());
+                SetSDTSectionSeen(tsid, psip.Section());
+                ServiceDescriptionTable sdt(psip);
+    
+                if (_cache_tables)
+                    CacheSDT(&sdt);
+    
+                emit UpdateSDT(tsid, &sdt);
+    
+                return true;
+            }
+            return false;
         }
         case TableID::NITo:
         {
@@ -401,6 +405,7 @@
     if (_cached_nit.empty())
         return false;
 
+#if 0
     nit_cache_t::const_iterator it = _cached_nit.begin();
     for (; it != _cached_nit.end(); ++it)
     {
@@ -411,6 +416,7 @@
             if (!HasCachedAllSDT((*it)->TSID(i), current))
                 return false;
     }
+#endif
 
     return true;
 }
