diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 78ca4141a4811708aff79f23543f5b21f69e2752..0aac09754ae82fd91bac887b0cf40c2441237885 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -3768,7 +3768,8 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){
             init_get_bits(&s->gb, ptr, bit_length);
             ff_h264_decode_seq_parameter_set(h);
 
-            if(s->flags& CODEC_FLAG_LOW_DELAY)
+            if (s->flags& CODEC_FLAG_LOW_DELAY ||
+                (h->sps.bitstream_restriction_flag && !h->sps.num_reorder_frames))
                 s->low_delay=1;
 
             if(avctx->has_b_frames < 2)