diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 730bf374dfe84119c034aa46b60b7f3917769a79..8d88f8583c6ff4774abe7bce98355474f28d7217 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -1420,6 +1420,12 @@ static int skinny_unregister(struct skinny_req *req, struct skinnysession *s)
 static int transmit_response(struct skinnysession *s, struct skinny_req *req)
 {
 	int res = 0;
+
+	if (!s) {
+		ast_log(LOG_WARNING, "Asked to transmit to a non-existant session!\n");
+		return -1;
+	}
+
 	ast_mutex_lock(&s->lock);
 
 	if (skinnydebug)