diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index ebc3203f14e45831bc84f7e2b6521fadc2018b86..3a3e4a90dd6d4a700b139a9f950d21cdd04f1585 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -886,7 +886,7 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
 	DWORD	current_refresh;
 	DWORD	dw_ex_style;
 	DWORD	dw_style;
-	RECT	window_rect;
+	RECT	window_rect = {0, 0, 0, 0};
 	S32 width = size.mX;
 	S32 height = size.mY;
 	BOOL auto_show = FALSE;
@@ -985,9 +985,6 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
 			window_rect.bottom = (long) height;
 			dw_ex_style = WS_EX_APPWINDOW;
 			dw_style = WS_POPUP;
-
-			// Move window borders out not to cover window contents
-			AdjustWindowRectEx(&window_rect, dw_style, FALSE, dw_ex_style);
 		}
 		// If it failed, we don't want to run fullscreen
 		else
@@ -1014,6 +1011,10 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
 		dw_style = WS_OVERLAPPEDWINDOW;
 	}
 
+	// Move window borders out not to cover window contents.
+	// This converts client rect to window rect, i.e. expands it by the window border size.
+	AdjustWindowRectEx(&window_rect, dw_style, FALSE, dw_ex_style);
+
 	// don't post quit messages when destroying old windows
 	mPostQuit = FALSE;