diff --git a/app/controllers/media_controller.rb b/app/controllers/media_controller.rb
index 1a0aefdc4bffa04f4151e707369a4c0bf95407ee..eafaa9358626cbddb93469a804b8dd3a20379a7a 100644
--- a/app/controllers/media_controller.rb
+++ b/app/controllers/media_controller.rb
@@ -3,8 +3,11 @@ class MediaController < ApplicationController
     @blob = ActiveStorage::Blob.find_signed! params[:signed_id]
     variant_service = VariantService.compute(@blob, params[:filename_with_transformations], params[:format])
     transformations = variant_service.transformations
-    blob_or_variant_url = transformations.empty?  ? url_for(@blob)
-                                                  : url_for(@blob.variant(transformations))
+    if !@blob.variable? || transformations.empty?
+      blob_or_variant_url = url_for(@blob)
+    else
+      blob_or_variant_url = url_for(@blob.variant(transformations))
+    end
 
     redirect_to blob_or_variant_url
   end