Index: src/libcfa/concurrency/thread
===================================================================
--- src/libcfa/concurrency/thread	(revision 9c313496292e447189530c6d9e91a7b120e46cc2)
+++ src/libcfa/concurrency/thread	(revision bd4d011a92b605ad83657c777542b73e1fad403f)
@@ -56,4 +56,7 @@
 thread_desc * this_thread(void);
 
+forall( dtype T | is_thread(T) )
+void __thrd_start( T* this );
+
 //-----------------------------------------------------------------------------
 // Ctors and dtors
Index: src/libcfa/concurrency/thread.c
===================================================================
--- src/libcfa/concurrency/thread.c	(revision 9c313496292e447189530c6d9e91a7b120e46cc2)
+++ src/libcfa/concurrency/thread.c	(revision bd4d011a92b605ad83657c777542b73e1fad403f)
@@ -31,9 +31,4 @@
 
 //-----------------------------------------------------------------------------
-// Forward declarations
-forall( dtype T | is_thread(T) )
-void start( T* this );
-
-//-----------------------------------------------------------------------------
 // Thread ctors and dtors
 
@@ -53,5 +48,5 @@
 void ?{}( scoped(T)* this ) {
 	(&this->handle){};
-	start(&this->handle);
+	__thrd_start(&this->handle);
 }
 
@@ -59,5 +54,5 @@
 void ?{}( scoped(T)* this, P params ) {
 	(&this->handle){ params };
-	start(&this->handle);
+	__thrd_start(&this->handle);
 }
 
@@ -70,5 +65,5 @@
 // Starting and stopping threads
 forall( dtype T | is_thread(T) )
-void start( T* this ) {
+void __thrd_start( T* this ) {
 	coroutine_desc* thrd_c = get_coroutine(this);
 	thread_desc*  thrd_h = get_thread   (this);
