Index: nonclient.c
===================================================================
--- nonclient.c	(revision 68898)
+++ nonclient.c	(working copy)
@@ -465,7 +465,13 @@
                        // Only the windows that overlap will be redrawn.
                        if (RECTL_bIntersectRect( &rect, &pwnd->rcWindow, &pwndTemp->rcWindow ))
                        {
-                          co_UserRedrawWindow( pwndTemp, NULL, NULL, RDW_UPDATENOW | RDW_ALLCHILDREN);
+                          if (pwnd->head.pti == pwndTemp->head.pti)
+                          co_UserRedrawWindow( pwndTemp, NULL, NULL, RDW_UPDATENOW | RDW_NOCHILDREN);
+                          else
+                          {
+                            ERR("Not Same Thread!\n");
+                            co_UserRedrawWindow( pwndTemp, NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN);
+                          }
                        }
                     }
                  }
