diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 07c8607fee2f464b620a744cfb84a8e40f5da793..d7fe5001088420140e7c071af552b3f8d6157e11 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -8158,6 +8158,13 @@ static char *func_header_read(struct ast_channel *chan, char *cmd, char *data, c
 	}
 
 	p = chan->tech_pvt;
+
+	/* If there is no private structure, this channel is no longer alive */
+	if (!p) {
+		ast_mutex_unlock(&chan->lock);
+		return NULL;
+	}
+
 	content = get_header(&p->initreq, data);
 
 	if (ast_strlen_zero(content)) {