diff --git a/src/terminal-notebook.c b/src/terminal-notebook.c
index 5862949..fb46839 100644
--- a/src/terminal-notebook.c
+++ b/src/terminal-notebook.c
@@ -58,10 +58,12 @@ update_tab_visibility (GtkNotebook *notebook,
 
 static void
 close_button_clicked_cb (TerminalTabLabel *tab_label,
-                         TerminalNotebook *notebook)
+                         gpointer user_data)
 {
+  TerminalNotebook *notebook;
   TerminalScreen *screen;
 
+  notebook = TERMINAL_NOTEBOOK (gtk_widget_get_parent (GTK_WIDGET (tab_label)));
   screen = terminal_tab_label_get_screen (tab_label);
 
   g_signal_emit_by_name (notebook, "screen-close-request", screen);
@@ -88,7 +90,7 @@ terminal_notebook_add_screen (TerminalMdiContainer *container,
 
   tab_label = terminal_tab_label_new (screen);
   g_signal_connect (tab_label, "close-button-clicked",
-                    G_CALLBACK (close_button_clicked_cb), notebook);
+                    G_CALLBACK (close_button_clicked_cb), NULL);
 
   gtk_notebook_insert_page (gtk_notebook,
                             screen_container,
