diff --git a/mythtv/libs/libmythdb/lcddevice.cpp b/mythtv/libs/libmythdb/lcddevice.cpp
index 06682ab..2406438 100644
--- a/mythtv/libs/libmythdb/lcddevice.cpp
+++ b/mythtv/libs/libmythdb/lcddevice.cpp
@@ -12,6 +12,7 @@
 #include <cmath>
 
 // POSIX headers
+#include <fcntl.h>
 #include <unistd.h>
 
 // Qt headers
@@ -20,6 +21,8 @@
 #include <QTextStream>
 #include <QTextCodec>
 #include <QByteArray>
+#include <QDir>
+#include <QStringList>
 
 // MythTV headers
 #include "lcddevice.h"
@@ -137,6 +140,17 @@ bool LCD::connectToHost(const QString &lhostname, unsigned int lport)
 
     if (res == 0)
     {
+#ifndef _WIN32
+        QDir dir = QDir("/proc/self/fd");
+        QStringList files = dir.entryList(QDir::Files|QDir::System, QDir::Name);
+        QStringList::const_iterator it;
+
+        for (it = files.constBegin(); it != files.constEnd(); ++it) {
+            if ((*it).startsWith("."))
+                continue;
+            fcntl((*it).toInt(), F_SETFD, FD_CLOEXEC);
+        }
+#endif
         // we need to start the mythlcdserver
         VERBOSE(VB_GENERAL, "Starting mythlcdserver");
 
