diff --git a/src/xpdev/xpsem.c b/src/xpdev/xpsem.c
index e588911b175d5ef81d9e6998a2f551c2ddc0773e..79df0e545b87310a160b627b2f6e3e205249b24a 100644
--- a/src/xpdev/xpsem.c
+++ b/src/xpdev/xpsem.c
@@ -256,6 +256,7 @@ xp_sem_timedwait(xp_sem_t *sem, const struct timespec *abs_timeout)
 		if(retval)  {
 			errno=retval;
 			retval=-1;
+			break;
 		}
 	}
 	if(retval==0)