diff --git a/src/thread.cc b/src/thread.cc
index af48c35..538aaa8 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -263,19 +263,21 @@
 }
 
 Thread* Thread::Attach(const Runtime* runtime, const char* name, bool as_daemon) {
-  Thread* self = new Thread;
-  self->Attach(runtime);
+  Thread* self = Thread::Current();
+  if (self == NULL) {
+    self = new Thread;
+    self->Attach(runtime);
 
-  self->SetState(Thread::kNative);
+    self->SetState(Thread::kNative);
 
-  // If we're the main thread, ClassLinker won't be created until after we're attached,
-  // so that thread needs a two-stage attach. Regular threads don't need this hack.
-  if (self->thin_lock_id_ != ThreadList::kMainId) {
-    self->CreatePeer(name, as_daemon);
+    // If we're the main thread, ClassLinker won't be created until after we're attached,
+    // so that thread needs a two-stage attach. Regular threads don't need this hack.
+    if (self->thin_lock_id_ != ThreadList::kMainId) {
+      self->CreatePeer(name, as_daemon);
+    }
+
+    self->GetJniEnv()->locals.AssertEmpty();
   }
-
-  self->GetJniEnv()->locals.AssertEmpty();
-
   return self;
 }
 
