diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 04c700559b5a50e0a573e7c49f6a7c43640c961a..5e67360d2e28eef5299b8a6697314d2df0a11440 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -4682,7 +4682,8 @@ static int handle_onhook_message(struct skinny_req *req, struct skinnysession *s
 				l->name, d->name, sub->callid);
 		}
 	}
-	if ((l->hookstate == SKINNY_ONHOOK) && (AST_LIST_NEXT(sub, list) && !AST_LIST_NEXT(sub, list)->rtp)) {
+	/* The bit commented below gives a very occasional core dump. */
+	if ((l->hookstate == SKINNY_ONHOOK) && (AST_LIST_NEXT(sub, list) /*&& !AST_LIST_NEXT(sub, list)->rtp*/)) {
 		do_housekeeping(s);
 	}
 	return 1;