Index: src/libcfa/concurrency/thread
===================================================================
--- src/libcfa/concurrency/thread	(revision 31ee19ffaf4a0680cf508ae188ea319eb5f8573e)
+++ src/libcfa/concurrency/thread	(revision 626da64418241876f30b5a7cd87ebb6afaeef2c7)
@@ -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 31ee19ffaf4a0680cf508ae188ea319eb5f8573e)
+++ src/libcfa/concurrency/thread.c	(revision 626da64418241876f30b5a7cd87ebb6afaeef2c7)
@@ -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);
