diff -ur vte-0.33.90.orig/src/vte.c vte-0.33.90/src/vte.c
--- vte-0.33.90.orig/src/vte.c	2012-06-06 11:12:51.000000000 +0200
+++ vte-0.33.90/src/vte.c	2012-09-10 19:12:17.170002595 +0200
@@ -7562,17 +7562,10 @@
 				event->button, x, y);
 		switch (event->button) {
 		case 1:
-			/* If Shift is held down, or we're not in events mode,
-			 * copy the selected text. */
-			if ((terminal->pvt->modifiers & GDK_SHIFT_MASK) ||
-			    !terminal->pvt->mouse_tracking_mode)
-				handled = _vte_terminal_maybe_end_selection (terminal);
+			handled = _vte_terminal_maybe_end_selection (terminal);
 			break;
 		case 2:
-			if ((terminal->pvt->modifiers & GDK_SHIFT_MASK) ||
-			    !terminal->pvt->mouse_tracking_mode) {
-				handled = TRUE;
-			}
+			handled = TRUE;
 			break;
 		case 3:
 		default:
