OkHttp3 body stream is empty in multithreaded environment

I have some class which downloads a file over HTTP and saves it as a file.

The class is called from my own ThreadExecutor to run two downloads in parallel.
Unfortunately, the response.body().source() of the request is sometimes empty even if the data was successfully downloaded (checked with charlesproxy), the size of the Buffer is also 0.
It seems like okio or okhttp have some problems with being called from two different Threads because with only one Thread in the Threadpool I don’t see that behavior.

The network stack is OHttp based (version 3.8.1).

    private String downloadDataToFile(@NonNull String resourceName, @NonNull File localFile, 
                                  @NonNull TransferCanceller transferCanceller, 
                                  Response response, Call call) throws IOException, SmartDriveException {
    BufferedSource bufferedSource = null;
    OutputStream outputStream = null;
    try {
        bufferedSource = response.body().source();
        Timber.i("Start download " + url + " -> " + localFile);
        SmartDriveFileUtils.deleteIfExists(localFile); // delete old file in case we have already have it half downloaded
        createDirectoryIfNeeded(localFile);
        if (!localFile.createNewFile()) {
            Timber.e("Could not create new file for download");
        }
        outputStream = new FileOutputStream(localFile, false);
        long payloadSize = response.body().contentLength();

        byte[] buffer = new byte[TRANSFER_BUFFER_SIZE];
        try {
            while (!transferCanceller.isCancelled() && payloadSize != 0) {
                int read = bufferedSource.read(buffer);
                if (read == -1) {
                    break;
                }
                outputStream.write(buffer, 0, read);
            }
        } catch (EOFException exception) {
            ignoreOkHttpReadingFromEmptyStreamException(exception);
        }
        return onTransferFinished(resourceName, localFile, transferCanceller, response, call);
    } finally {
        Io.closeQuietly(bufferedSource);
        Io.closeQuietly(outputStream);
    }
}