diff --git a/gtk/src/gtk_display.cpp b/gtk/src/gtk_display.cpp
index 509a3ad1..285f84d1 100644
--- a/gtk/src/gtk_display.cpp
+++ b/gtk/src/gtk_display.cpp
@@ -1818,6 +1818,7 @@ S9xReinitDisplay (void)
 bool8
 S9xContinueUpdate (int width, int height)
 {
+    S9xDeinitUpdate (width, height);
     return TRUE;
 }
 
diff --git a/gtk/src/gtk_display_driver_opengl.cpp b/gtk/src/gtk_display_driver_opengl.cpp
index f1a3cd4a..755bec7a 100644
--- a/gtk/src/gtk_display_driver_opengl.cpp
+++ b/gtk/src/gtk_display_driver_opengl.cpp
@@ -662,6 +662,7 @@ S9xOpenGLDisplayDriver::resize_window (int width, int height)
     gdk_window_destroy (gdk_window);
     create_window (width, height);
     glXMakeCurrent (display, xwindow, glx_context);
+    swap_control (config->sync_to_vblank);
 
     return;
 }