diff --git a/src/svm/message_queue.h b/src/svm/message_queue.h
index 13f4d80..d4c47d7 100644
--- a/src/svm/message_queue.h
+++ b/src/svm/message_queue.h
@@ -302,7 +302,10 @@
 static inline int
 svm_msg_q_try_lock (svm_msg_q_t * mq)
 {
-  return pthread_mutex_trylock (&mq->q->mutex);
+  int rv = pthread_mutex_trylock (&mq->q->mutex);
+  if (PREDICT_FALSE (rv == EOWNERDEAD))
+    rv = pthread_mutex_consistent (&mq->q->mutex);
+  return rv;
 }
 
 /**
diff --git a/src/svm/queue.c b/src/svm/queue.c
index 96383d4..864d97e 100644
--- a/src/svm/queue.c
+++ b/src/svm/queue.c
@@ -103,6 +103,15 @@
     pthread_mutex_consistent (&q->mutex);
 }
 
+static int
+svm_queue_trylock (svm_queue_t * q)
+{
+  int rv = pthread_mutex_trylock (&q->mutex);
+  if (PREDICT_FALSE (rv == EOWNERDEAD))
+    rv = pthread_mutex_consistent (&q->mutex);
+  return rv;
+}
+
 void
 svm_queue_unlock (svm_queue_t * q)
 {
@@ -256,7 +265,7 @@
   if (nowait)
     {
       /* zero on success */
-      if (pthread_mutex_trylock (&q->mutex))
+      if (svm_queue_trylock (q))
 	{
 	  return (-1);
 	}
@@ -306,7 +315,7 @@
   if (nowait)
     {
       /* zero on success */
-      if (pthread_mutex_trylock (&q->mutex))
+      if (svm_queue_trylock (q))
 	{
 	  return (-1);
 	}
@@ -367,7 +376,7 @@
   if (cond == SVM_Q_NOWAIT)
     {
       /* zero on success */
-      if (pthread_mutex_trylock (&q->mutex))
+      if (svm_queue_trylock (q))
 	{
 	  return (-1);
 	}
