| Index: runtime/vm/debugger.cc
 | 
| diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
 | 
| index 1b3d84a97e441602c1a7ec5cce5838387b56109a..696e6404d6592069986b37d9f7ca7e37211a7362 100644
 | 
| --- a/runtime/vm/debugger.cc
 | 
| +++ b/runtime/vm/debugger.cc
 | 
| @@ -305,12 +305,15 @@ void Debugger::InvokeEventHandler(DebuggerEvent* event) {
 | 
|      Service::HandleEvent(&service_event);
 | 
|    }
 | 
|  
 | 
| -  if ((FLAG_steal_breakpoints || (event_handler_ == NULL)) &&
 | 
| -      event->IsPauseEvent()) {
 | 
| -    // We allow the embedder's default breakpoint handler to be overridden.
 | 
| -    isolate_->PauseEventHandler();
 | 
| -  } else if (event_handler_ != NULL) {
 | 
| -    (*event_handler_)(event);
 | 
| +  {
 | 
| +    TransitionVMToNative transition(Thread::Current());
 | 
| +    if ((FLAG_steal_breakpoints || (event_handler_ == NULL)) &&
 | 
| +        event->IsPauseEvent()) {
 | 
| +      // We allow the embedder's default breakpoint handler to be overridden.
 | 
| +      isolate_->PauseEventHandler();
 | 
| +    } else if (event_handler_ != NULL) {
 | 
| +      (*event_handler_)(event);
 | 
| +    }
 | 
|    }
 | 
|  
 | 
|    if (ServiceNeedsDebuggerEvent(event->type()) && event->IsPauseEvent()) {
 | 
| 
 |