Index: src/terminal-window.c
===================================================================
--- src/terminal-window.c	(revision 2986)
+++ src/terminal-window.c	(working copy)
@@ -868,6 +868,15 @@
 }
 
 static void
+screen_resize_window_cb(TerminalScreen *screen,
+                        guint width,
+                        guint height,
+                        TerminalWindow* window)
+{
+	terminal_window_set_size_force_grid (window, screen, TRUE, width/vte_terminal_get_char_width (VTE_TERMINAL (screen)), height/vte_terminal_get_char_height (VTE_TERMINAL (screen)));
+}
+
+static void
 terminal_window_update_tabs_menu_sensitivity (TerminalWindow *window)
 {
   TerminalWindowPrivate *priv = window->priv;
@@ -2393,7 +2402,7 @@
       scale = terminal_screen_get_font_scale (priv->active_screen);
       terminal_screen_set_font_scale (screen, scale);
     }
-  
+  g_signal_connect (screen, "resize-window", G_CALLBACK (screen_resize_window_cb), window);
   /* Make the first-added screen the active one */
   /* FIXME: this shouldn't be necessary since we'll immediately get
    * page-selected callback.
@@ -2456,7 +2465,9 @@
   g_signal_handlers_disconnect_by_func (screen,
                                         G_CALLBACK (screen_close_cb),
                                         window);
-
+  g_signal_handlers_disconnect_by_func (screen,
+                                        G_CALLBACK (screen_resize_window_cb),
+                                        window);
   priv->terms--;
 
   update_notebook (window);

