Index: /trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispVRDP.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispVRDP.cpp	(revision 38044)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispVRDP.cpp	(revision 38045)
@@ -752,23 +752,13 @@
     if (pptlBrush)
     {
-        int xDiff;
-        int yDiff;
-
         LOG(("Dst %d,%d Brush origin %d,%d", prclTrg->left, prclTrg->top, pptlBrush->x, pptlBrush->y));
 
-        xDiff = prclTrg->left - pptlBrush->x;
-        if (xDiff < 0)
-        {
-            xDiff = -xDiff;
-        }
-
-        yDiff = prclTrg->top - pptlBrush->y;
-        if (yDiff < 0)
-        {
-            yDiff = -yDiff;
-        }
-
-        xSrc = (int8_t)(xDiff % 8);
-        ySrc = (int8_t)(yDiff % 8);
+        /* Make sure that the coords fit in a 8 bit value.
+         * Only 8x8 pixel brushes are supported, so last 3 bits
+         * is a [0..7] coordinate of the brush, because the brush
+         * repeats after each 8 pixels.
+         */
+        xSrc = (int8_t)(pptlBrush->x & 7);
+        ySrc = (int8_t)(pptlBrush->y & 7);
     }
 
