diff --git a/tools/ganeti-listrunner b/tools/ganeti-listrunner
index b9371a939ae0665a74ab538a3941fec2889f0624..6fe176ddfc979202a3e461101ec38e68ec1bc303 100755
--- a/tools/ganeti-listrunner
+++ b/tools/ganeti-listrunner
@@ -323,7 +323,14 @@ def RunRemoteCommand(connection, command, logfile):
    ### Read when data is available
   output = ""
   while select.select([session], [], []):
-    data = session.recv(1024)
+    try:
+      data = session.recv(1024)
+    except socket.timeout, err:
+      data = None
+      WriteLog("FAILED: socket.timeout %s" % err, logfile)
+    except socket.error, err:
+      data = None
+      WriteLog("FAILED: socket.error %s" % err, logfile)
     if not data:
       break
     output += data