Index: mythvideo/mythvideo/dbcheck.cpp
===================================================================
--- mythvideo/mythvideo/dbcheck.cpp	(revision 11395)
+++ mythvideo/mythvideo/dbcheck.cpp	(working copy)
@@ -227,14 +227,28 @@
 
     if (dbver == "1008")
     {
-        const QString updates[] = {
-"UPDATE videometadata "
-"LEFT JOIN videocategory ON (videometadata.category = videocategory.intid) "
-"SET videometadata.category = 0 "
-"WHERE videocategory.intid IS NULL;",
-""
-};
+        QStringList updates;
 
+        MSqlQuery query(MSqlQuery::InitCon());
+        query.exec("SELECT intid FROM videocategory;");
+
+        QString categoryIDs = "'0',";
+        if (query.isActive() && query.size())
+        {
+            while (query.next())
+            {
+              categoryIDs += "'" + query.value(0).toString() + "',";
+            }
+            categoryIDs = categoryIDs.left(categoryIDs.length() - 1);
+            updates.append(QString(
+"UPDATE videometadata SET category = 0 WHERE category NOT IN (%1);")
+                           .arg(categoryIDs));
+        }
+        else
+        {
+          updates.append("SELECT 1;");
+        }
+
         performActualUpdate(updates, "1009", dbver);
     }
 
