Index: lib/widgets/ephy-node-view.c
===================================================================
--- lib/widgets/ephy-node-view.c	(revision 8537)
+++ lib/widgets/ephy-node-view.c	(working copy)
@@ -682,7 +682,16 @@
 			}
 
                         gtk_tree_selection_select_path (selection, path);
-                }
+			
+			if (event->button == 2)
+			{
+				EphyNode *clicked_node;
+				
+				clicked_node = process_middle_click (path, view);
+				g_signal_emit (G_OBJECT (view),
+				       ephy_node_view_signals[NODE_MIDDLE_CLICKED], 0, clicked_node);
+			}
+		}
                                                                                                                               
                 gtk_tree_path_free (path);
         }                                                                                                              
@@ -865,16 +874,8 @@
 
 			g_signal_emit_by_name (view, "popup_menu", &retval);
 		}
-		else if (event->button == 2)
+		else if (event->button == 1 || event->button == 2)
 		{
-			EphyNode *clicked_node;
-			
-			clicked_node = process_middle_click (path, view);
-			g_signal_emit (G_OBJECT (view),
-				       ephy_node_view_signals[NODE_MIDDLE_CLICKED], 0, clicked_node);
-		}
-		else if (event->button == 1)
-		{
 			if (view->priv->toggle_column >= 0)
 			{
 				path_toggled (NULL, path, NULL, view);
