Index: libcfa/src/concurrency/clib/cfathread.cfa
===================================================================
--- libcfa/src/concurrency/clib/cfathread.cfa	(revision cfff6398bb3300e69fce3706c15f15750c4641db)
+++ libcfa/src/concurrency/clib/cfathread.cfa	(revision 353aaba0304ce011842007d3dd0b675b8d24fe4b)
@@ -27,4 +27,6 @@
       extern void __cfactx_invoke_thread(void (*main)(void *), void * this);
 }
+
+extern Time __kernel_get_time();
 
 //================================================================================
@@ -265,5 +267,8 @@
 	int cfathread_cond_timedwait(cfathread_cond_t *restrict cond, cfathread_mutex_t *restrict mut, const struct timespec *restrict abstime) __attribute__((nonnull (1,2,3))) {
 		Time t = { *abstime };
-		if( wait( (*cond)->impl, (*mut)->impl, t ) ) {
+		timespec curr;
+		clock_gettime( CLOCK_REALTIME, &curr );
+		Time c = { curr };
+		if( wait( (*cond)->impl, (*mut)->impl, t - c ) ) {
 			return 0;
 		}
Index: libcfa/src/concurrency/clib/cfathread.h
===================================================================
--- libcfa/src/concurrency/clib/cfathread.h	(revision cfff6398bb3300e69fce3706c15f15750c4641db)
+++ libcfa/src/concurrency/clib/cfathread.h	(revision 353aaba0304ce011842007d3dd0b675b8d24fe4b)
@@ -80,4 +80,6 @@
 
 	typedef struct cfathread_cond_attr {
+		// WARNING: adding support for pthread_condattr_setclock would require keeping track of the clock
+		// and reading it in cond_timedwait
 	} cfathread_condattr_t;
 	typedef struct cfathread_condition * cfathread_cond_t;
