diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 2e82944300d87126c957ed4489b1c97ffe75cff9..08dc92e45b86f8f2510eb6aa823655b140fa5522 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -9199,6 +9199,7 @@ retryowner2:
 			ast_debug(1, "Received out of order packet... (type=%d, subclass %d, ts = %d, last = %d)\n", f.frametype, f.subclass, fr->ts, iaxs[fr->callno]->last);
 		fr->outoforder = -1;
 	}
+	fr->cacheable = ((f.frametype == AST_FRAME_VOICE) || (f.frametype == AST_FRAME_VIDEO));
 	duped_fr = iaxfrdup2(fr);
 	if (duped_fr) {
 		schedule_delivery(duped_fr, updatehistory, 0, &fr->ts);