diff --git a/src/conio/win32cio.c b/src/conio/win32cio.c
index faa6a3779262c4661816c894d781405e0b46a789..1a33e847d40c449d49d72ec5db7b5760626a4f50 100644
--- a/src/conio/win32cio.c
+++ b/src/conio/win32cio.c
@@ -251,12 +251,13 @@ void win32_textmode(int mode)
 	}
 	sz.X=vid_modes[modeidx].xsize;
 	sz.Y=vid_modes[modeidx].ysize;
-	SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE),sz);
 	rc.Left=0;
 	rc.Right=vid_modes[modeidx].xsize-1;
 	rc.Top=0;
 	rc.Bottom=vid_modes[modeidx].ysize-1;
 	SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE),TRUE,&rc);
+	SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE),sz);
+	SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE),TRUE,&rc);
 }
 
 int win32_gettext(int left, int top, int right, int bottom, void* buf)