diff --git a/lib/ticket_evolution/core/endpoint/request_handler.rb b/lib/ticket_evolution/core/endpoint/request_handler.rb
index <HASH>..<HASH> 100644
--- a/lib/ticket_evolution/core/endpoint/request_handler.rb
+++ b/lib/ticket_evolution/core/endpoint/request_handler.rb
@@ -19,7 +19,8 @@ module TicketEvolution
 
       def request(method, path, params = nil)
         request = self.build_request(method, path, params)
-        response = self.naturalize_response(request.http(method))
+        request.http(method)
+        response = self.naturalize_response(request)
         if response.response_code >= 400
           TicketEvolution::ApiError.new(response)
         else
diff --git a/lib/ticket_evolution/modules/show.rb b/lib/ticket_evolution/modules/show.rb
index <HASH>..<HASH> 100644
--- a/lib/ticket_evolution/modules/show.rb
+++ b/lib/ticket_evolution/modules/show.rb
@@ -6,13 +6,13 @@ module TicketEvolution
     end
 
     def build_for_show(response)
+      remove_instance_variable(:@responsible)
       "TicketEvolution::#{self.class.to_s.split('::').last.singularize.camelize}".constantize.new(
         response.body.merge({
           :status_code => response.response_code,
           :server_message => response.server_message
         })
       )
-      remove_instance_variable(:@responsible)
     end
   end
 end
fixed two small return / reordering