--- ev-view-old.c	2011-02-25 21:55:13.660305517 +0100
+++ ev-view.c	2011-02-25 22:20:11.700305517 +0100
@@ -3592,21 +3592,20 @@
 				if (view->focus_annotation)
 					view->focus_annotation = NULL;
 
-				if (EV_IS_SELECTION (view->document))
-					start_selection_for_event (view, event);
+				/* use root coordinates as reference point because
+				 * scrolling changes window relative coordinates */
+				view->drag_info.start.x = event->x_root;
+				view->drag_info.start.y = event->y_root;
+				view->drag_info.hadj = gtk_adjustment_get_value (view->hadjustment);
+				view->drag_info.vadj = gtk_adjustment_get_value (view->vadjustment);
+
+				ev_view_set_cursor (view, EV_VIEW_CURSOR_DRAG);
 			}
-		}			
+		}
 			return TRUE;
 		case 2:
-			/* use root coordinates as reference point because
-			 * scrolling changes window relative coordinates */
-			view->drag_info.start.x = event->x_root;
-			view->drag_info.start.y = event->y_root;
-			view->drag_info.hadj = gtk_adjustment_get_value (view->hadjustment);
-			view->drag_info.vadj = gtk_adjustment_get_value (view->vadjustment);
-
-			ev_view_set_cursor (view, EV_VIEW_CURSOR_DRAG);
-
+			if (EV_IS_SELECTION (view->document))
+					start_selection_for_event (view, event);
 			return TRUE;
 		case 3:
 			view->scroll_info.start_y = event->y;
@@ -3891,7 +3890,7 @@
 	}
 	
 	switch (view->pressed_button) {
-	case 1:
+	case 2:
 		/* For the Evince 0.4.x release, we limit selection to un-rotated
 		 * documents only.
 		 */
@@ -3920,7 +3919,7 @@
 			view->selection_update_id = g_idle_add ((GSourceFunc)selection_update_idle_cb, view);
 
 		return TRUE;
-	case 2:
+	case 1:
 		if (!view->drag_info.in_drag) {
 			gboolean start;
 			int i;
