diff --git a/app/controllers/concerns/sufia/files_controller_behavior.rb b/app/controllers/concerns/sufia/files_controller_behavior.rb
index <HASH>..<HASH> 100644
--- a/app/controllers/concerns/sufia/files_controller_behavior.rb
+++ b/app/controllers/concerns/sufia/files_controller_behavior.rb
@@ -115,7 +115,7 @@ module Sufia
 
     # routed to /files/:id (PUT)
     def update
-      success = if params.has_key?(:revision) && params[:revision] != @generic_file.content.latest_version.versionID
+      success = if wants_to_revert?
         update_version
       elsif params.has_key? :filedata
         update_file
@@ -137,6 +137,10 @@ module Sufia
 
     protected
 
+    def wants_to_revert?
+      params.has_key?(:revision) && params[:revision] != @generic_file.content.latest_version.versionID
+    end
+
     def actor
       @actor ||= Sufia::GenericFile::Actor.new(@generic_file, current_user)
     end
Encapsulate the decision of whether to revert versions for this request