diff --git a/app/services/variant_service.rb b/app/services/variant_service.rb
index 395b8b2d70a9a5158e1fc845dc336d79419a4eb1..40eca996a99a96a2518cbeca38296765447c3363 100644
--- a/app/services/variant_service.rb
+++ b/app/services/variant_service.rb
@@ -55,7 +55,7 @@ class VariantService
         end
       end
 
-      transformations[:format] = @format if @format != @blob.filename.extension_without_delimiter
+      transformations[:format] = @format if @format.present? && @format != @blob.filename.extension_without_delimiter
       transformations
     end
   end
diff --git a/test/models/variant_service_test.rb b/test/models/variant_service_test.rb
index 62858b2e977509748c7a11cadba1f54d14ec9cf0..2f2d086360863b00d5d71ac6650c697598e8db3c 100644
--- a/test/models/variant_service_test.rb
+++ b/test/models/variant_service_test.rb
@@ -31,6 +31,8 @@ class VariantServiceTest < ActiveSupport::TestCase
   # dan-gold_1000x500_crop_left.jpeg
   # dan-gold_1500x500_crop_left.jpeg
   # dan-gold_800x840_crop_left.jpeg
+  # dan-gold
+  # dan-gold_500x500
 
   # Params tests
 
@@ -155,6 +157,21 @@ class VariantServiceTest < ActiveSupport::TestCase
     assert_equal expected_params, variant_service.params
   end
 
+  test "params for dan-gold" do
+    blob = create_file_blob(filename: "dan-gold.jpeg")
+    expected_params = {}
+    variant_service = VariantService.compute(blob, 'dan-gold', nil)
+    assert_equal expected_params, variant_service.params
+    assert_nil variant_service.format
+  end
+
+  test "params for dan-gold_500x500" do
+    blob = create_file_blob(filename: "dan-gold.jpeg")
+    expected_params = { size: '500x500' }
+    variant_service = VariantService.compute(blob, 'dan-gold_500x500', nil)
+    assert_equal expected_params, variant_service.params
+  end
+
   # Transformations tests
 
   test "transformations for dan-gold.jpeg" do
@@ -291,6 +308,20 @@ class VariantServiceTest < ActiveSupport::TestCase
     assert_equal expected_transformations, variant_service.transformations
   end
 
+  test "transformations for dan-gold" do
+    blob = create_file_blob(filename: "dan-gold.jpeg")
+    expected_transformations = {}
+    variant_service = VariantService.compute(blob, 'dan-gold', nil)
+    assert_equal expected_transformations, variant_service.transformations
+  end
+
+  test "transformations for dan-gold_500x500" do
+    blob = create_file_blob(filename: "dan-gold.jpeg")
+    expected_transformations = { resize_to_limit: [500, 500] }
+    variant_service = VariantService.compute(blob, 'dan-gold_500x500', nil)
+    assert_equal expected_transformations, variant_service.transformations
+  end
+
   # Variants tests
 
   test "variant for dan-gold.webp" do
@@ -390,6 +421,19 @@ class VariantServiceTest < ActiveSupport::TestCase
     assert_equal expected_blob.checksum, image_checksum(image)
   end
 
+  test "variant for dan-gold" do
+    expected_blob = create_file_blob(filename: "dan-gold.jpeg")
+    image = load_image_from_variant_name(expected_blob.filename.base, format: nil)
+    assert_equal "JPEG", image.type
+    assert_equal expected_blob.checksum, image_checksum(image)
+  end
+
+  test "variant for dan-gold_500x500" do
+    expected_blob = create_file_blob(filename: "dan-gold_500x500.jpeg")
+    image = load_image_from_variant_name(expected_blob.filename.base, format: nil)
+    assert_equal expected_blob.checksum, image_checksum(image)
+  end
+
   private
 
   def create_file_blob(key: nil, filename: "dan-gold.jpeg", content_type: "image/jpeg", metadata: nil, service_name: nil, record: nil)