diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index edf1d7272a3ee82024c4ff2b450c731dc41326f7..d281fa51533cbf8e3c636e083dcddb751d999613 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -2078,6 +2078,9 @@ static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtc
 
 		rtp->f.subclass = AST_FORMAT_T140;
 		header_end = memchr(data, ((*data) & 0x7f), rtp->f.datalen);
+		if (header_end == NULL) {
+			return &ast_null_frame;
+		}
 		header_end++;
 
 		header_length = header_end - data;