diff --git a/src/session_base.cpp b/src/session_base.cpp
index 460cafe4..9c69c875 100644
--- a/src/session_base.cpp
+++ b/src/session_base.cpp
@@ -256,7 +256,8 @@ void zmq::session_base_t::read_activated (pipe_t *pipe_)
     }
 
     if (unlikely (engine == NULL)) {
-        pipe->check_read ();
+        if (pipe)
+            pipe->check_read ();
         return;
     }