| Index: runtime/vm/flow_graph.cc | 
| diff --git a/runtime/vm/flow_graph.cc b/runtime/vm/flow_graph.cc | 
| index 89ed20d543d7e14270e73fe2030b534c03a773fc..f513b304c012f92220fa118ad8641bb91b59e133 100644 | 
| --- a/runtime/vm/flow_graph.cc | 
| +++ b/runtime/vm/flow_graph.cc | 
| @@ -2009,7 +2009,9 @@ void FlowGraph::EliminateEnvironments() { | 
| !block_it.Done(); | 
| block_it.Advance()) { | 
| BlockEntryInstr* block = block_it.Current(); | 
| -    block->RemoveEnvironment(); | 
| +    if (!block->IsCatchBlockEntry()) { | 
| +      block->RemoveEnvironment(); | 
| +    } | 
| for (ForwardInstructionIterator it(block); !it.Done(); it.Advance()) { | 
| Instruction* current = it.Current(); | 
| if (!current->CanDeoptimize()) { | 
|  |