diff --git a/src/request.c b/src/request.c index dd66863..098105f 100644 --- a/src/request.c +++ b/src/request.c @@ -405,9 +405,12 @@ static S3Status compose_amz_headers(const RequestParams *params, params->startByte, params->startByte + params->byteCount); append_amz_header(values, 0, "x-amz-copy-source-range", byteRange); } - // And the x-amz-metadata-directive header - if (properties) { - append_amz_header(values, 0, "x-amz-metadata-directive", "REPLACE"); + else { + // Add the x-amz-metadata-directive header + // Only for CopyObject, not UploadPartCopy (above) + if (properties) { + append_amz_header(values, 0, "x-amz-metadata-directive", "REPLACE"); + } } }