diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java b/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java
index d262e240e30894e61e4341d7f1a81a2b2fda4e10..1666f3fb1d048a02067890658cb4469bd1b2cafc 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java
+++ b/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java
@@ -87,14 +87,16 @@ public class GrpcFileUploadUtils {
 		}
 
 		void sendNext() {
-			while (!done.get() && isReady()) {
+			if (!done.get()) {
 				waitForOberver();
-				LOG.debug("Sending next chunk.");
 				sendMetaData();
-				long sentSize = sendNextChunk();
-				checkForEndOfStream(sentSize);
+				do {
+					LOG.debug("Sending next chunk.");
+					long sentSize = sendNextChunk();
+					checkForEndOfStream(sentSize);
+				} while (!done.get() && isReady());
+				LOG.debug("Finished or waiting to become ready.");
 			}
-			LOG.debug("Finished or waiting to become ready.");
 		}
 
 		private boolean isReady() {