Index: enhanced/drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp =================================================================== --- enhanced/drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp (revision 471532) +++ enhanced/drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp (working copy) @@ -872,7 +872,6 @@ { VM_thread* cur_thread = get_thread_ptr(); LoadingClass* loading; - Class** pclss; Class* clss = NULL; m_lock._lock(); do @@ -881,12 +880,8 @@ m_lock._unlock(); return NULL; } - if((pclss = m_loadedClasses->Lookup(className)) != NULL) { - m_lock._unlock(); - return *pclss; - } loading = m_loadingClasses->Lookup(className); - if(loading) { + if(loading && m_loadedClasses->Lookup(className) == NULL) { TRACE2("classloader.collisions", this << " " << cur_thread << " DC " << className->bytes); if(!loading->HasDefiner()) { break;