diff --git a/src/conio/x_events.c b/src/conio/x_events.c
index 916a198537576ba6161a97f0d073fe7a8ab6668b..9cb37ca413de66e9ba7c813b757c3823326e9ded 100644
--- a/src/conio/x_events.c
+++ b/src/conio/x_events.c
@@ -476,7 +476,7 @@ static void resize_window()
 
 	aspect_correct(&width, &height, x_cvstat.aspect_width, x_cvstat.aspect_height);
 	pthread_mutex_lock(&vstatlock);
-	if (width == x_cvstat.winwidth && height == x_cvstat.winheight) {
+	if (width == vstat.winwidth && height == vstat.winheight) {
 		pthread_mutex_unlock(&vstatlock);
 		resize_xim();
 		return;
@@ -502,6 +502,7 @@ static void init_mode_internal(int mode)
 		last = NULL;
 	}
 	bitmap_drv_init_mode(mode, NULL, NULL, mw, mh);
+	resize_window();
 	x_cvstat = vstat;
 	pthread_mutex_unlock(&vstatlock);
 	resize_xim();