Index: src/OFThread.m ================================================================== --- src/OFThread.m +++ src/OFThread.m @@ -241,10 +241,13 @@ - (void)start { if (running == OF_THREAD_RUNNING) @throw [OFThreadStillRunningException newWithClass: isa thread: self]; + + if (running = OF_THREAD_WAITING_FORJOIN) + of_thread_detach(thread); [self retain]; if (!of_thread_new(&thread, call_main, self)) { [self release];