diff --git a/dlls/x11drv/window.c b/dlls/x11drv/window.c
index 78de26987d6d849be07c72a93845a97681044c24..7c7a6e1fbb716b748772f1e6f65de508fe843836 100644
--- a/dlls/x11drv/window.c
+++ b/dlls/x11drv/window.c
@@ -1116,14 +1116,9 @@ BOOL X11DRV_CreateWindow( HWND hwnd, CREATESTRUCTA *cs, BOOL unicode )
                       newPos.right, newPos.bottom, swFlag );
     }
 
-    /* if the window was made visible set create struct flag so that
-     * we do a proper ShowWindow later on */
-    if (wndPtr->dwStyle & WS_VISIBLE) cs->style |= WS_VISIBLE;
-
     WIN_ReleaseWndPtr( wndPtr );
     return TRUE;
 
-
  failed:
     X11DRV_DestroyWindow( hwnd );
     if (wndPtr) WIN_ReleasePtr( wndPtr );
diff --git a/windows/win.c b/windows/win.c
index 35761e0e21092d1f42795f7bb424732373be9933..a99288a7fb65df520799ff7340b57d0bf5869c5f 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -1230,13 +1230,7 @@ static HWND WIN_CreateWindowEx( CREATESTRUCTA *cs, ATOM classAtom,
     }
 
     if (cs->style & WS_VISIBLE)
-    {
-        /* in case WS_VISIBLE got set in the meantime */
-        if (!(wndPtr = WIN_GetPtr( hwnd ))) return 0;
-        WIN_SetStyle( hwnd, wndPtr->dwStyle & ~WS_VISIBLE );
-        WIN_ReleasePtr( wndPtr );
         ShowWindow( hwnd, sw );
-    }
 
     /* Call WH_SHELL hook */