diff -ur gnome-terminal-2.14.2.orig/src/terminal-screen.c gnome-terminal-2.14.2/src/terminal-screen.c
--- gnome-terminal-2.14.2.orig/src/terminal-screen.c	2006-09-22 19:14:18.000000000 +0200
+++ gnome-terminal-2.14.2/src/terminal-screen.c	2006-09-22 19:54:27.000000000 +0200
@@ -989,6 +989,7 @@
 GtkWidget*
 terminal_screen_get_widget (TerminalScreen *screen)
 {
+  if (screen == NULL) return NULL;
   return screen->priv->term;
 }
 
diff -ur gnome-terminal-2.14.2.orig/src/terminal-window.c gnome-terminal-2.14.2/src/terminal-window.c
--- gnome-terminal-2.14.2.orig/src/terminal-window.c	2006-09-22 19:14:20.000000000 +0200
+++ gnome-terminal-2.14.2/src/terminal-window.c	2006-09-22 20:04:14.000000000 +0200
@@ -1508,13 +1508,16 @@
                             TerminalScreen *screen)
 {
   TerminalProfile *profile;
+  GtkWidget *old_widget, *new_widget;
   
   if (window->priv->active_term == screen)
     return;
   
   profile = terminal_screen_get_profile (screen);
 
+  old_widget = terminal_screen_get_widget (window->priv->active_term);
   window->priv->active_term = screen;
+  new_widget = terminal_screen_get_widget (window->priv->active_term);
 
   terminal_window_update_icon (window);
   
@@ -1533,6 +1536,14 @@
   gtk_notebook_set_current_page (GTK_NOTEBOOK (window->priv->notebook),
                                  gtk_notebook_page_num (GTK_NOTEBOOK (window->priv->notebook),
                                                         GTK_WIDGET (screen)));
+
+  /* Make sure that the widget is no longer hidden due to the workaround */
+  gtk_widget_show (new_widget);
+  /* Workaround to remove gtknotebook's feature of computing its size based on
+   * all pages. When the widget is hidden, its size will not be taken into
+   * account.
+   */
+  if (old_widget != NULL) gtk_widget_hide (old_widget);
   
   update_copy_sensitivity (window);
   
@@ -1617,14 +1628,6 @@
     terminal_widget_get_size (old_widget, &old_grid_width, &old_grid_height);
     terminal_widget_set_size (new_widget, old_grid_width, old_grid_height);
     gtk_widget_queue_resize_no_redraw (new_widget);
-
-    /* Make sure that the widget is no longer hidden due to the workaround */
-    gtk_widget_show (new_widget);
-    /* Workaround to remove gtknotebook's feature of computing its size based on
-     * all pages. When the widget is hidden, its size will not be taken into
-     * account.
-     */
-    gtk_widget_hide (old_widget);
   }
 
   update_tab_sensitivity (window);
