Index: libs/libmyth/mythcontext.cpp
===================================================================
--- libs/libmyth/mythcontext.cpp	(revision 14194)
+++ libs/libmyth/mythcontext.cpp	(working copy)
@@ -857,8 +857,13 @@
     QString server = gContext->GetSetting("MasterServerIP", "localhost");
     int port = gContext->GetNumSetting("MasterServerPort", 6543);
 
-    if (!d->eventSock)
-        d->eventSock = new MythSocket();
+    if (!d->eventSock) 
+    {
+        // if I'm the master backend, don't create a socket for events, 
+        // This could lead to a case where recusively send myself events.
+        if (!IsMasterBackend())
+            d->eventSock = new MythSocket();
+    }
 
     if (!d->serverSock)
         d->serverSock = ConnectServer(d->eventSock, server, port, blockingClient);
@@ -2544,7 +2549,8 @@
 {
     (void)sock;
 
-    while (d->eventSock->state() == MythSocket::Connected &&
+    while (d->eventSock && 
+           d->eventSock->state() == MythSocket::Connected &&
            d->eventSock->bytesAvailable() > 0)
     {
         QStringList strlist;
