diff --git a/libavcodec/mpegvideo_xvmc.c b/libavcodec/mpegvideo_xvmc.c
index e6f9eada820931c4e0e5af75a3c2707ec22ad9a1..2cc6dd89583c5f3f74e2561a9e573d25fcf1246e 100644
--- a/libavcodec/mpegvideo_xvmc.c
+++ b/libavcodec/mpegvideo_xvmc.c
@@ -267,7 +267,7 @@ void ff_xvmc_decode_mb(MpegEncContext *s)
     for (i = 0; i < blocks_per_mb; i++) {
         if (s->block_last_index[i] >= 0) {
             // I do not have unsigned_intra MOCO to test, hope it is OK.
-            if ((s->mb_intra) && (render->idct || (!render->idct && !render->unsigned_intra)))
+            if (s->mb_intra && (render->idct || !render->idct && !render->unsigned_intra))
                 s->pblocks[i][0] -= 1 << 10;
             if (!render->idct) {
                 s->dsp.idct(s->pblocks[i]);