diff --git a/src/videorenderer.cpp b/src/videorenderer.cpp
index 7262dae7eb2fedf08d54fcdde9a3299df63beb9e..cab8cc8cbe90fc49cb45b6e6dbbbb74b2f87eee6 100644
--- a/src/videorenderer.cpp
+++ b/src/videorenderer.cpp
@@ -207,8 +207,9 @@ bool VideoRenderer::shmLock()
 {
    const timespec timeout = createTimeout();
    /* We need an upper limit on how long we'll wait to avoid locking the whole GUI */
-   if (sem_timedwait(&m_pShmArea->mutex, &timeout) == ETIMEDOUT) {
-      qDebug() << "Timed out before shm lock was acquired";
+   if (sem_timedwait(&m_pShmArea->mutex, &timeout) < 0) {
+       if (errno == ETIMEDOUT)
+           qDebug() << "Timed out before shm lock was acquired";
       return false;
    }
    return true;