diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 700e9b5c9655711a9a371ffa8566aec021a8567e..8125588244e9aea016f5c9bd8863a0f04232e6a9 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -9546,7 +9546,7 @@ static int socket_process(struct iax2_thread *thread)
 		 * this connection yet. */
 		if ((dcallno != 1) && (fr->callno = find_callno(ntohs(mh->callno) & ~IAX_FLAG_FULL, dcallno, &sin, NEW_PREVENT, fd, 1))) {
 			ast_mutex_lock(&iaxsl[fr->callno]);
-			if (ast_test_flag64(iaxs[fr->callno], IAX_ENCRYPTED)) {
+			if (iaxs[fr->callno] && ast_test_flag64(iaxs[fr->callno], IAX_ENCRYPTED)) {
 				if (decrypt_frame(fr->callno, fh, &f, &res)) {
 					ast_log(LOG_NOTICE, "Packet Decrypt Failed!\n");
 					ast_mutex_unlock(&iaxsl[fr->callno]);