--- ldecod/src/mb_access.c	2004-10-29 23:51:00.000000000 -0600 (JM11.0)
+++ ldecod/src/mb_access.c	2006-08-19 23:14:47.000000000 -0600
@@ -185,19 +185,12 @@
 
   if (pix->available || img->DeblockCall)
   {
-    pix->x = (xN + maxW) % maxW;
-    pix->y = (yN + maxH) % maxH;
-    get_mb_pos(pix->mb_addr, &(pix->pos_x), &(pix->pos_y));
-    if (luma)
-    {
-      pix->pos_x += pix->x;
-      pix->pos_y += pix->y;
-    }
-    else
-    {
-      pix->pos_x = pix->pos_x/(16/img->mb_cr_size_x) + pix->x;
-      pix->pos_y = pix->pos_y/(16/img->mb_cr_size_y) + pix->y;
-    }
+    unsigned int mb_addr = pix->mb_addr;
+    unsigned int width = dec_picture->PicWidthInMbs;
+    pix->x = xN & (maxW - 1);
+    pix->y = yN & (maxH - 1);
+    pix->pos_x = (mb_addr % width) * maxW + pix->x;
+    pix->pos_y = (mb_addr / width) * maxH + pix->y;
   }
 }
 
