diff --git a/src/class_linker.cc b/src/class_linker.cc
index b8cd891..f312556 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -642,7 +642,7 @@
         return NULL;
       }
       ObjectLock lock(klass);
-      klass->SetClinitThreadId(self->GetId());
+      klass->SetClinitThreadId(self->GetTid());
       // Add the newly loaded class to the loaded classes table.
       bool success = InsertClass(descriptor, klass);  // TODO: just return collision
       if (!success) {
@@ -678,7 +678,7 @@
   if (!klass->IsLinked() && !klass->IsErroneous()) {
     ObjectLock lock(klass);
     // Check for circular dependencies between classes.
-    if (!klass->IsLinked() && klass->GetClinitThreadId() == self->GetId()) {
+    if (!klass->IsLinked() && klass->GetClinitThreadId() == self->GetTid()) {
       self->ThrowNewException("Ljava/lang/ClassCircularityError;", NULL); // TODO: detail
       return NULL;
     }
@@ -1210,7 +1210,7 @@
 
     while (klass->GetStatus() == Class::kStatusInitializing) {
       // we caught somebody else in the act; was it us?
-      if (klass->GetClinitThreadId() == self->GetId()) {
+      if (klass->GetClinitThreadId() == self->GetTid()) {
         LG << "recursive <clinit>";
         return true;
       }
@@ -1258,7 +1258,7 @@
 
     DCHECK(klass->GetStatus() < Class::kStatusInitializing);
 
-    klass->SetClinitThreadId(self->GetId());
+    klass->SetClinitThreadId(self->GetTid());
     klass->SetStatus(Class::kStatusInitializing);
   }
 
