diff --git a/src/xpdev/semwrap.c b/src/xpdev/semwrap.c
index af89da82dc7930518928a27282be1e870a868fc4..4f22d479266706aab621e60cf259eb6c2dce052e 100644
--- a/src/xpdev/semwrap.c
+++ b/src/xpdev/semwrap.c
@@ -56,7 +56,7 @@ sem_trywait_block(sem_t *sem, unsigned long timeout)
 
 	retval=sem_timedwait(sem, &abstime);
 	if(retval && errno==ETIMEDOUT)
-		retval=EAGAIN;
+		errno=EAGAIN;
 	return retval;
 }
 #endif