diff --git a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/StreamExclusiveFileSender.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/StreamExclusiveFileSender.java
index 4223d4de1b383d657d105d305d11e2d10b35ba54..0853e33dfcf00ea6b176b148b5755f02eb7f0005 100644
--- a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/StreamExclusiveFileSender.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/StreamExclusiveFileSender.java
@@ -27,7 +27,6 @@ import java.io.InputStream;
 import java.util.function.BiFunction;
 import java.util.function.Function;
 
-import de.ozgcloud.common.errorhandling.TechnicalException;
 import io.grpc.stub.CallStreamObserver;
 import io.grpc.stub.StreamObserver;
 import lombok.extern.log4j.Log4j2;
@@ -63,16 +62,4 @@ class StreamExclusiveFileSender<Q, S> extends StreamingFileSender<Q, S> {
 	protected CallStreamObserver<Q> getRequestObserver() {
 		return requestObserver;
 	}
-
-	@Override
-	public void cancelOnTimeout() {
-		super.cancelOnTimeout();
-		requestObserver.onError(new TechnicalException("Timeout on waiting for upload."));
-	}
-
-	@Override
-	public void cancelOnError(Throwable t) {
-		super.cancelOnError(t);
-		requestObserver.onError(t);
-	}
 }
diff --git a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/StreamingFileSender.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/StreamingFileSender.java
index de78cf14b005300683dd1d63ed5c7cf4184da010..3907546cdfe610e8ff75b8535f555752bdbbefbb 100644
--- a/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/StreamingFileSender.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/StreamingFileSender.java
@@ -75,12 +75,14 @@ public abstract class StreamingFileSender<Q, S> {
 	public void cancelOnTimeout() {
 		LOG.warn("File transfer canceled on timeout");
 		resultFuture.cancel(true);
+		getRequestObserver().onError(new TechnicalException("Timeout on waiting for upload."));
 		closeStreamReader();
 	}
 
 	public void cancelOnError(Throwable t) {
 		LOG.error("File transfer canceled on error.", t);
 		resultFuture.cancel(true);
+		getRequestObserver().onError(t);
 		closeStreamReader();
 	}
 
diff --git a/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/StreamExclusiveFileSenderTest.java b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/StreamExclusiveFileSenderTest.java
index 6ac54ef835b35e685a9b67b89fdba6fc5ed482a0..6656be616c26409500a07bb54d2386d7ae0a2a51 100644
--- a/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/StreamExclusiveFileSenderTest.java
+++ b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/StreamExclusiveFileSenderTest.java
@@ -43,7 +43,6 @@ import org.springframework.test.util.ReflectionTestUtils;
 
 import de.ozgcloud.common.binaryfile.BinaryFileTestFactory.TestRequestType;
 import de.ozgcloud.common.binaryfile.BinaryFileTestFactory.TestResponseType;
-import de.ozgcloud.common.errorhandling.TechnicalException;
 import io.grpc.stub.CallStreamObserver;
 import io.grpc.stub.StreamObserver;
 
@@ -119,77 +118,4 @@ class StreamExclusiveFileSenderTest {
 			verify(requestObserver).onCompleted();
 		}
 	}
-
-	@Nested
-	class TestCancelOnTimeout {
-
-		@Mock
-		private CompletableFuture<TestResponseType> resultFuture;
-		@Mock
-		private CallStreamObserver<TestRequestType> requestObserver;
-
-		@BeforeEach
-		void init() {
-			ReflectionTestUtils.setField(fileSender, "resultFuture", resultFuture);
-			ReflectionTestUtils.setField(fileSender, "requestObserver", requestObserver);
-		}
-
-		@Test
-		void shouldCancelResultFuture() {
-			fileSender.cancelOnTimeout();
-
-			verify(resultFuture).cancel(true);
-		}
-
-		@Test
-		void shouldCallOnError() {
-			fileSender.cancelOnTimeout();
-
-			verify(requestObserver).onError(any(TechnicalException.class));
-		}
-
-		@Test
-		void shouldCloseStreamReader() {
-			fileSender.cancelOnTimeout();
-
-			verify(fileSender).closeStreamReader();
-		}
-	}
-
-	@Nested
-	class TestCancelOnError {
-
-		@Mock
-		private CompletableFuture<TestResponseType> resultFuture;
-		@Mock
-		private CallStreamObserver<TestRequestType> requestObserver;
-		private final Throwable error = new Throwable();
-
-		@BeforeEach
-		void init() {
-			ReflectionTestUtils.setField(fileSender, "resultFuture", resultFuture);
-			ReflectionTestUtils.setField(fileSender, "requestObserver", requestObserver);
-		}
-
-		@Test
-		void shouldCancelResultFuture() {
-			fileSender.cancelOnError(error);
-
-			verify(resultFuture).cancel(true);
-		}
-
-		@Test
-		void shouldCallOnError() {
-			fileSender.cancelOnError(error);
-
-			verify(requestObserver).onError(error);
-		}
-
-		@Test
-		void shouldCloseStreamReader() {
-			fileSender.cancelOnError(error);
-
-			verify(fileSender).closeStreamReader();
-		}
-	}
 }
diff --git a/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/StreamingFileSenderTest.java b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/StreamingFileSenderTest.java
index ce12c67d1ee3d157c1385d00f5bd5193382ac9ae..f92a7a7bb5c3882ffefe0958fd68e2845b3205c2 100644
--- a/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/StreamingFileSenderTest.java
+++ b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/StreamingFileSenderTest.java
@@ -43,6 +43,7 @@ import org.springframework.test.util.ReflectionTestUtils;
 
 import de.ozgcloud.common.binaryfile.BinaryFileTestFactory.TestRequestType;
 import de.ozgcloud.common.binaryfile.BinaryFileTestFactory.TestResponseType;
+import de.ozgcloud.common.errorhandling.TechnicalException;
 import io.grpc.stub.CallStreamObserver;
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -82,6 +83,13 @@ class StreamingFileSenderTest {
 			verify(resultFuture).cancel(true);
 		}
 
+		@Test
+		void shouldCallOnError() {
+			fileSender.cancelOnTimeout();
+
+			verify(requestObserver).onError(any(TechnicalException.class));
+		}
+
 		@Test
 		void shouldCloseStreams() {
 			fileSender.cancelOnTimeout();
@@ -109,6 +117,13 @@ class StreamingFileSenderTest {
 			verify(resultFuture).cancel(true);
 		}
 
+		@Test
+		void shouldCallOnError() {
+			fileSender.cancelOnError(error);
+
+			verify(requestObserver).onError(error);
+		}
+
 		@Test
 		void shouldCloseStreams() {
 			fileSender.cancelOnError(error);