diff --git a/lib/composable_operations/operation.rb b/lib/composable_operations/operation.rb
index <HASH>..<HASH> 100644
--- a/lib/composable_operations/operation.rb
+++ b/lib/composable_operations/operation.rb
@@ -80,14 +80,16 @@ class Operation
   end
 
   def perform
+    self.result = nil
+
     ActiveSupport::Notifications.instrument(self.class.identifier, :operation => self) do
-      self.result = catch(:halt) do
+      catch(:halt) do
         prepare
-        execution_result = execute
+        self.result = execute
         finalize
-        execution_result
       end
     end
+
     self.result
   end
Operation after hooks have now access to the operation's result