diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java
index ab211e4a9d855b64d3eeb26d9a6be2870954acf1..a4a8fa1f01aad0a258b91ee2c59293ea97492c00 100644
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java
@@ -102,7 +102,6 @@ class MiddlewareTunnel implements Closeable {
 					try (Socket soc = ss.accept()) {
 						obtainTransferMethodIfNeeded(port);
 						doTransfer(soc);
-						
 					}
 					catch (final SocketTimeoutException e) {
 						// ignore and check interruption
@@ -120,7 +119,8 @@ class MiddlewareTunnel implements Closeable {
 						.isClosed());
 				}
 
-			} catch(RuntimeException e) {
+			}
+			catch (final RuntimeException e) {
 				log.error(e.getMessage(), e);
 				throw e;
 			}
@@ -225,7 +225,9 @@ class MiddlewareTunnel implements Closeable {
 			log.error(e.getMessage(), e);
 		}
 		catch (final SocketException e) {
-			if (!e.getMessage().equals("Socket closed")) {
+			if (!e.getMessage().equals("Socket closed") || !e.getMessage().equals(
+				"Connection reset"))
+			{
 				log.error(e.getMessage(), e);
 			}
 		}
@@ -341,24 +343,28 @@ class MiddlewareTunnel implements Closeable {
 					}
 				}
 			}
-			if(received == null) {
+			if (received == null) {
 				if (log.isDebugEnabled()) {
 					log.debug("EOF from middleware detected");
 				}
 			}
 		}
 		catch (final InterruptedIOException e) {
-			return;
+			//ignore this
+		}
+		catch(SocketException e) {
+			if(!e.getMessage().equals("Broken pipe (Write failed)")) {
+				log.error(e.getMessage(), e);
+			} 
 		}
 		catch (final IOException e) {
 			log.error(e.getMessage(), e);
-			return;
 		}
 		finally {
 			try {
 				connection.shutdownOutput();
 			}
-			catch (IOException exc) {
+			catch (final IOException exc) {
 				log.error(exc.getMessage(), exc);
 			}
 			log.debug("END: readFromMiddleware");
@@ -374,11 +380,9 @@ class MiddlewareTunnel implements Closeable {
 
 		private final Runnable[] runnable = new Runnable[2];
 
-		
 		private final Thread[] threads = new Thread[2];
-		
+
 		private final CountDownLatch latchOfBothDirections = new CountDownLatch(2);
-		
 
 		public P_Connection(final Socket soc) {
 			this.socket = soc;
@@ -434,7 +438,7 @@ class MiddlewareTunnel implements Closeable {
 
 		private void stop(final CountDownLatch localLatch) {
 			for (final Thread thread : threads) {
-				if(thread != null) {
+				if (thread != null) {
 					thread.interrupt();
 				}
 			}