diff --git a/s3/s3.go b/s3/s3.go
index 43edf170586ad078af45f5476bb017ddef27e1a6..3f4cafb9c5b9ea5ab104bafbbedc84dc609730df 100644
--- a/s3/s3.go
+++ b/s3/s3.go
@@ -198,7 +198,11 @@ func (s SessionWithHelpers) UploadWithSettingsRevised(data []byte, bucket string
 			}
 		}
 
-		uploadUrl, err = s.GetSignedDownloadURL(bucket, fileName, 24*time.Hour, headers)
+		downloadUrlExpiry := 24 * time.Hour
+		if settings.ExpiryDuration != nil {
+			downloadUrlExpiry = *settings.ExpiryDuration
+		}
+		uploadUrl, err = s.GetSignedDownloadURL(bucket, fileName, downloadUrlExpiry, headers)
 		if err != nil {
 			return S3UploadResponse{}, err
 		}