diff --git a/core/src/main/java/com/gentics/mesh/core/endpoint/node/S3BinaryUploadHandlerImpl.java b/core/src/main/java/com/gentics/mesh/core/endpoint/node/S3BinaryUploadHandlerImpl.java index 801f47bcce..f1aaa50f01 100644 --- a/core/src/main/java/com/gentics/mesh/core/endpoint/node/S3BinaryUploadHandlerImpl.java +++ b/core/src/main/java/com/gentics/mesh/core/endpoint/node/S3BinaryUploadHandlerImpl.java @@ -130,7 +130,10 @@ private Single storeUploadInGraph(InternalActionContext ac, S3Uplo utils.eventAction(batch -> { // We need to check whether someone else has stored the s3 binary in the meanwhile - S3HibBinary s3HibBinary = s3binaries.create(s3binaryUuid, s3ObjectKey, fileName).runInExistingTx(tx); + S3HibBinary s3HibBinary = s3binaries.findByS3ObjectKey(s3ObjectKey).runInExistingTx(tx); + if (s3HibBinary == null) { + s3HibBinary = s3binaries.create(s3binaryUuid, s3ObjectKey, fileName).runInExistingTx(tx); + } HibLanguage language = tx.languageDao().findByLanguageTag(languageTag); if (language == null) { throw error(NOT_FOUND, "error_language_not_found", languageTag);