diff --git a/mythtv/libs/libmythui/myththemedmenu.cpp b/mythtv/libs/libmythui/myththemedmenu.cpp
index a0f20ad..a0c17c6 100644
--- a/mythtv/libs/libmythui/myththemedmenu.cpp
+++ b/mythtv/libs/libmythui/myththemedmenu.cpp
@@ -7,6 +7,7 @@
 #include <QKeyEvent>
 #include <QDomDocument>
 #include <QFile>
+#include <QFileInfo>
 #include <QTextStream>
 
 // libmythui headers
@@ -483,6 +484,10 @@ void MythThemedMenu::parseThemeButton(QDomElement &element)
             {
                 addit = findDepends(getFirstText(info));
             }
+            else if (info.tagName() == "dependsexec")
+            {
+                addit = findDependsExec(getFirstText(info));
+            }
             else if (info.tagName() == "dependssetting")
             {
                 addit = GetMythDB()->GetNumSetting(getFirstText(info));
@@ -859,6 +864,14 @@ bool MythThemedMenu::findDepends(const QString &fileList)
     return false;
 }
 
+bool MythThemedMenu::findDependsExec(const QString &filename)
+{
+    QFileInfo filename_info(filename);
+    if (filename_info.exists() && filename_info.isFile() && filename_info.isExecutable())
+        return true;
+    return false;
+}
+
 /** \brief Queries the user for a password to enter a part of MythTV
  *         restricted by a password.
  *
diff --git a/mythtv/libs/libmythui/myththemedmenu.h b/mythtv/libs/libmythui/myththemedmenu.h
index 5ecf6c7..e4028d7 100644
--- a/mythtv/libs/libmythui/myththemedmenu.h
+++ b/mythtv/libs/libmythui/myththemedmenu.h
@@ -102,6 +102,7 @@ class MUI_PUBLIC MythThemedMenu : public MythThemedMenuState
 
     bool handleAction(const QString &action, const QString &password = QString());
     bool findDepends(const QString &fileList);
+    bool findDependsExec(const QString &filename);
     QString findMenuFile(const QString &menuname);
 
     bool checkPinCode(const QString &password_setting);
