diff --git a/libavcodec/hevc_filter.c b/libavcodec/hevc_filter.c
index f3c655416a859154b3978a1e55fc21dea9a2f630..d3f2ff1388f523e40d31fbb811e29a5b64ccdfc4 100644
--- a/libavcodec/hevc_filter.c
+++ b/libavcodec/hevc_filter.c
@@ -90,7 +90,7 @@ static int get_qPy_pred(HEVCContext *s, int xC, int yC,
     int qPy_pred, qPy_a, qPy_b;
 
     // qPy_pred
-    if (lc->first_qp_group) {
+    if (lc->first_qp_group || (!xQgBase && !yQgBase)) {
         lc->first_qp_group = !lc->tu.is_cu_qp_delta_coded;
         qPy_pred = s->sh.slice_qp;
     } else {