diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index b14d2e74ace8d5300b04943d047b82fab0f9111d..1d3180b93505cb93e9606487cda57066a2398c84 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -1800,6 +1800,9 @@ dependent_frame:
 
     *got_frame_ptr = 1;
 
+    if (!s->superframe_size)
+        return FFMIN(full_buf_size, s->frame_size);
+
     return FFMIN(full_buf_size, s->superframe_size);
 }