diff --git a/objects/middleware.go b/objects/middleware.go
index efdb4b5..520781b 100644
--- a/objects/middleware.go
+++ b/objects/middleware.go
@@ -88,6 +88,11 @@ func NewClient(conf ini.File) (*s3.Client, error) {
Region: region,
Credentials: creds,
}, func(opts *s3.Options) {
+ // Patched (phoebe-lab): AWS SDK v2 defaults to WhenSupported, which seeks
+ // non-seekable PutObject bodies (pages Publish, builds artifact upload)
+ // for checksum computation. Use WhenRequired to skip pre-flight hashing.
+ opts.RequestChecksumCalculation = aws.RequestChecksumCalculationWhenRequired
+ opts.ResponseChecksumValidation = aws.ResponseChecksumValidationWhenRequired
opts.BaseEndpoint = aws.String(scheme + upstream)
opts.EndpointResolverV2 = &S3Resolver{
conf,