diff --git a/app/controllers/projects/uploads_controller.rb b/app/controllers/projects/uploads_controller.rb
index c43d82f12883fec3aa61af179abe00dbc1fb01ef..276dced865678e1f85bf72f2307bc39a2cb3e16a 100644
--- a/app/controllers/projects/uploads_controller.rb
+++ b/app/controllers/projects/uploads_controller.rb
@@ -1,8 +1,11 @@
 class Projects::UploadsController < Projects::ApplicationController
   layout 'project'
 
-  skip_before_filter :authenticate_user!, :reject_blocked!, :project, :repository, only: [:show]
-  before_filter :authenticate_user!, :reject_blocked!, :project, :repository, only: [:show], unless: :image?
+  # We want to skip these filters for only the `show` action if `image?` is true, 
+  # but `skip_before_filter` doesn't work with both `only` and `if`, so we accomplish the same like this.
+  skipped_filters = [:authenticate_user!, :reject_blocked!, :project, :repository]
+  skip_before_filter  *skipped_filters, only: [:show]
+  before_filter       *skipped_filters, only: [:show], unless: :image?
 
   def create
     link_to_file = ::Projects::UploadService.new(project, params[:file]).