| Index: runtime/vm/os_thread_win.cc | 
| diff --git a/runtime/vm/os_thread_win.cc b/runtime/vm/os_thread_win.cc | 
| index 52fbd983fe6bdd8c7a1463f1929f14d77d8927e2..7a29d0da46c27fe457788279a3651f183cd87fb4 100644 | 
| --- a/runtime/vm/os_thread_win.cc | 
| +++ b/runtime/vm/os_thread_win.cc | 
| @@ -52,12 +52,14 @@ static unsigned int __stdcall ThreadEntry(void* data_ptr) { | 
| MonitorData::GetMonitorWaitDataForThread(); | 
|  | 
| // Create new OSThread object and set as TLS for new thread. | 
| -  OSThread* thread = new OSThread(); | 
| -  OSThread::SetCurrent(thread); | 
| -  thread->set_name(name); | 
| +  OSThread* thread = OSThread::CreateOSThread(); | 
| +  if (thread != NULL) { | 
| +    OSThread::SetCurrent(thread); | 
| +    thread->set_name(name); | 
|  | 
| -  // Call the supplied thread start function handing it its parameters. | 
| -  function(parameter); | 
| +    // Call the supplied thread start function handing it its parameters. | 
| +    function(parameter); | 
| +  } | 
|  | 
| // Clean up the monitor wait data for this thread. | 
| MonitorWaitData::ThreadExit(); | 
|  |