diff --git a/src/odoors/ODInQue.c b/src/odoors/ODInQue.c
index a2c0a7d40cd753717495eba787b4095bf4cee499..90349a297f007ea52d2840a7c9e22cedfd0dce19 100644
--- a/src/odoors/ODInQue.c
+++ b/src/odoors/ODInQue.c
@@ -315,7 +315,8 @@ tODResult ODInQueueGetNextEvent(tODInQueueHandle hInQueue,
    /* this thread to be blocked until an event is added to the queue, if it */
    /* is currently empty.                                                   */
 
-   ODSemaphoreDown(pInputQueueInfo->hItemCountSemaphore, Timeout);
+   if(ODSemaphoreDown(pInputQueueInfo->hItemCountSemaphore, Timeout)==kODRCTimeout)
+      return(kODRCTimeout);
 
 #else /* !OD_MULTITHREADED */