diff --git a/app/controllers/concerns/controller/rest_actions_concern.rb b/app/controllers/concerns/controller/rest_actions_concern.rb
index <HASH>..<HASH> 100644
--- a/app/controllers/concerns/controller/rest_actions_concern.rb
+++ b/app/controllers/concerns/controller/rest_actions_concern.rb
@@ -22,7 +22,7 @@ module Controller
     def create
       @resource = resource_class.new(permitted_params)
       @resource.save
-      respond_with @resource, location: collection_path
+      respond_with @resource, location: after_create_location
     end
 
     def show
@@ -38,17 +38,29 @@ module Controller
     def update
       @resource = load_resource
       @resource.update_attributes(permitted_params)
-      respond_with @resource, location: collection_path
+      respond_with @resource, location: after_update_location
     end
 
     def destroy
       @resource = load_resource
       @resource.destroy
-      respond_with @resource, location: collection_path
+      respond_with @resource, location: after_destroy_location
     end
 
     private
 
+    def after_create_location
+      collection_path
+    end
+
+    def after_destroy_location
+      collection_path
+    end
+
+    def after_update_location
+      collection_path
+    end
+
     def collection_scope
       resource_class
     end
Refactored location lookup.