Index: src/ephy-go-action.c
===================================================================
--- src/ephy-go-action.c	(revision 6980)
+++ src/ephy-go-action.c	(working copy)
@@ -79,6 +79,15 @@ create_tool_item (GtkAction *action)
 }
 
 static void
+button_clicked_cb (GtkWidget *widget,
+		   GdkEventButton *event,
+		   gpointer user_data)
+{
+	if (event->button == 1 || event->button == 2)
+		gtk_action_activate (GTK_ACTION (user_data));
+}
+
+static void
 connect_proxy (GtkAction *action,
 	       GtkWidget *proxy)
 {      
@@ -86,9 +95,9 @@ connect_proxy (GtkAction *action,
 
 	if (GTK_IS_TOOL_ITEM (proxy))
 	{
-		g_signal_connect_object (GTK_BIN (proxy)->child, "clicked",
-					 G_CALLBACK (gtk_action_activate), action,
-					 G_CONNECT_SWAPPED);
+		g_signal_connect (GTK_BIN (proxy)->child, "button-press-event",
+					 G_CALLBACK (button_clicked_cb), action
+					);
 	}
 }
 
