diff --git a/libavcodec/hevc_mvs.c b/libavcodec/hevc_mvs.c
index 032b8b0569427508b2767f83b308dbd6d103f5be..5b013a7290197e4fe114d8cbb0833d6fba520333 100644
--- a/libavcodec/hevc_mvs.c
+++ b/libavcodec/hevc_mvs.c
@@ -720,6 +720,11 @@ void ff_hevc_luma_mv_mvp_mode(HEVCContext *s, int x0, int y0, int nPbW,
             availableFlagLXA0 = MP_MX_LT(A1, pred_flag_index_l1, mxA);
     }
 
+    if(availableFlagLXA0 && !mvp_lx_flag) {
+        mv->mv[LX] = mxA;
+        return;
+    }
+
     // B candidates
     // above right spatial merge candidate
     xB0    = x0 + nPbW;