diff --git a/ethcore/src/executive.rs b/ethcore/src/executive.rs index 1243eeea3e8..66dbba1d00a 100644 --- a/ethcore/src/executive.rs +++ b/ethcore/src/executive.rs @@ -440,19 +440,23 @@ impl<'a, B: 'a + StateBackend> Executive<'a, B> { ActionValue::Transfer(value) => value != U256::zero(), ActionValue::Apparent(_) => false, }; - if self.depth == 0 || is_transferred { + + let trace_output = if self.depth == 0 || is_transferred { let mut trace_output = tracer.prepare_trace_output(); if let Some(out) = trace_output.as_mut() { *out = output.to_owned(); } + trace_output + } else { + None + }; - tracer.trace_call( - trace_info, - cost, - trace_output, - vec![] - ); - } + tracer.trace_call( + trace_info, + cost, + trace_output, + vec![] + ); let out_len = builtin_out_buffer.len(); Ok(FinalizationResult {