diff --git a/mythtv/programs/mythfrontend/commandlineparser.cpp b/mythtv/programs/mythfrontend/commandlineparser.cpp
index 7321510..fed9eca 100644
--- a/mythtv/programs/mythfrontend/commandlineparser.cpp
+++ b/mythtv/programs/mythfrontend/commandlineparser.cpp
@@ -29,6 +29,10 @@ void MythFrontendCommandLineParser::LoadArguments(void)
         "Always prompt for backend selection.", "");
     add(QStringList( QStringList() << "-d" << "--disable-autodiscovery" ),
         "noautodiscovery", false, "Prevent frontend from using UPnP autodiscovery.", "");
+    add("--jumppoint", "jumppoint", "", "Start the frontend at a Jump Point.", "")
+        ->SetBlocks("runplugin")->SetGroup("Startup Behavior");
+    add("--runplugin", "runplugin", "", "Run a plugin right away.", "")
+        ->SetBlocks("jumppoint")->SetGroup("Startup Behavior");
 }
 
 QString MythFrontendCommandLineParser::GetHelpHeader(void) const
diff --git a/mythtv/programs/mythfrontend/main.cpp b/mythtv/programs/mythfrontend/main.cpp
index 599f493..054c897 100644
--- a/mythtv/programs/mythfrontend/main.cpp
+++ b/mythtv/programs/mythfrontend/main.cpp
@@ -1463,20 +1463,12 @@ int main(int argc, char **argv)
     new QApplication(argc, argv);
     QCoreApplication::setApplicationName(MYTH_APPNAME_MYTHFRONTEND);
 
-    QString pluginname;
-
-    QFileInfo finfo(qApp->argv()[0]);
-    QString binname = finfo.baseName();
-
     int retval;
     if ((retval = cmdline.ConfigureLogging()) != GENERIC_EXIT_OK)
         return retval;
 
     bool ResetSettings = false;
 
-    if (binname.toLower() != "mythfrontend")
-        pluginname = binname;
-
     if (cmdline.toBool("prompt"))
         bPromptForBackend = true;
     if (cmdline.toBool("noautodiscovery"))
@@ -1524,9 +1516,6 @@ int main(int argc, char **argv)
     if (cmdline.toBool("reset"))
         ResetSettings = true;
 
-    if (cmdline.GetArgs().size() >= 1)
-        pluginname = cmdline.GetArgs()[0];
-
     QString fileprefix = GetConfDir();
 
     QDir dir(fileprefix);
@@ -1614,10 +1603,10 @@ int main(int argc, char **argv)
     pmanager = new MythPluginManager();
     gContext->SetPluginManager(pmanager);
 
-    if (pluginname.size())
+    if (cmdline.toBool("runplugin") && !cmdline.toString("runplugin").isEmpty())
     {
-        if (pmanager->run_plugin(pluginname) ||
-            pmanager->run_plugin("myth" + pluginname))
+        if (!pmanager->run_plugin(cmdline.toString("runplugin")) ||
+            !pmanager->run_plugin("myth" + cmdline.toString("runplugin")))
         {
             qApp->exec();
 
@@ -1679,6 +1668,11 @@ int main(int argc, char **argv)
     PreviewGeneratorQueue::CreatePreviewGeneratorQueue(
         PreviewGenerator::kRemote, 50, 60);
 
+    if (cmdline.toBool("jumppoint") && !cmdline.toString("jumppoint").isEmpty())
+    {
+        GetMythMainWindow()->JumpTo(cmdline.toString("jumppoint"), false);
+    }
+
     int ret = qApp->exec();
 
     PreviewGeneratorQueue::TeardownPreviewGeneratorQueue();
