diff --git a/libraries/chain/controller.cpp b/libraries/chain/controller.cpp index f4fa0cf102e..6b5a54c9855 100644 --- a/libraries/chain/controller.cpp +++ b/libraries/chain/controller.cpp @@ -804,7 +804,9 @@ struct controller_impl { EOS_ASSERT( false, block_validate_exception, "encountered unexpected receipt type" ); } - if( trace && trace->except ) { + bool transaction_failed = trace && trace->except; + bool transaction_can_fail = receipt.status == transaction_receipt_header::hard_fail && receipt.trx.contains(); + if( transaction_failed && !transaction_can_fail) { edump((*trace)); throw *trace->except; }