diff --git a/mythtv/programs/mythcommflag/main.cpp b/mythtv/programs/mythcommflag/main.cpp
index ba12406..f64f049 100644
--- a/mythtv/programs/mythcommflag/main.cpp
+++ b/mythtv/programs/mythcommflag/main.cpp
@@ -735,8 +735,7 @@ static int FlagCommercials(ProgramInfo *program_info, int jobid,
     int breaksFound = 0;
 
     // configure commercial detection method
-    SkipTypes commDetectMethod =
-            (enum SkipTypes)gCoreContext->GetNumSetting(
+    SkipTypes commDetectMethod = (SkipTypes)gCoreContext->GetNumSetting(
                                     "CommercialSkipMethod", COMM_DETECT_ALL);
 
     if (cmdline.toBool("commmethod"))
@@ -750,7 +749,7 @@ static int FlagCommercials(ProgramInfo *program_info, int jobid,
         if (!ok)
         {
             // not an integer, attempt comma separated list
-            commDetectMethod = COMM_DETECT_UNINIT;
+            commDetectMethod = COMM_DETECT_OFF;
             QMap<QString, SkipTypes>::const_iterator sit;
 
             QStringList list = commmethod.split(",", QString::SkipEmptyParts);
@@ -774,14 +773,13 @@ static int FlagCommercials(ProgramInfo *program_info, int jobid,
 
                 // append flag method to list
                 commDetectMethod = (SkipTypes) ((int)commDetectMethod
-                                             || (int)skipTypes->value(val));
+                                                | (int)skipTypes->value(val));
             }
-
         }
         if (commDetectMethod == COMM_DETECT_UNINIT)
             return GENERIC_EXIT_INVALID_CMDLINE;
     }
-    else if (!cmdline.toBool("skipdb"))
+    else if (useDB)
     {
         // if not manually specified, and we have a database to access
         // pull the commflag type from the channel
@@ -819,11 +817,7 @@ static int FlagCommercials(ProgramInfo *program_info, int jobid,
                 QString("Using method: %1 from channel %2")
                     .arg(commDetectMethod).arg(program_info->GetChanID()));
         }
-
     }
-    else if (cmdline.toBool("skipdb"))
-        // default to a cheaper method for debugging purposes
-        commDetectMethod = COMM_DETECT_BLANK;
 
     // if selection has failed, or intentionally disabled, drop out
     if (commDetectMethod == COMM_DETECT_UNINIT)
@@ -1143,7 +1137,14 @@ int main(int argc, char *argv[])
     cmdline.ApplySettingsOverride();
 
     MythTranslation::load("mythfrontend");
-
+    
+    if (cmdline.toBool("outputmethod"))
+    {
+	QString om = cmdline.toString("outputmethod");
+	if (outputTypes->contains(om))
+	    outputMethod = outputTypes->value(om);
+    }
+    
     if (cmdline.toBool("chanid") && cmdline.toBool("starttime"))
     {
         // operate on a recording in the database
