diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java
index 8e541d2..ad5c4cf 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java
@@ -2035,10 +2035,7 @@
 		if (widget.isRowSelected(row)) {
 			NSRect rect = widget.frameOfOutlineCellAtRow(row);
 			if (!OS.NSPointInRect(pt, rect)) {
-				Widget item = itemID != null ? display.getWidget (itemID.id) : null;
-				if (item != null && item instanceof TreeItem) {
-					selectedRowIndex = this.indexOf ((TreeItem)item);
-				}
+				selectedRowIndex = row;
 			}
 		}
 	}
@@ -2632,7 +2629,7 @@
 		 * selection event before MouseUp is sent. Ignore the next selection event.
 		 */
 		if (!dragDetected && selectedRowIndex != -1) {
-			NSTableView widget = (NSTableView)view;
+			NSOutlineView widget = (NSOutlineView)view;
 			NSIndexSet selectedRows = widget.selectedRowIndexes ();
 			int count = (int)/*64*/selectedRows.count();
 			long /*int*/ [] indexBuffer = new long /*int*/ [count];
@@ -2645,9 +2642,15 @@
 			}
 			
 			Event event = new Event ();
-			event.item = _getItem (null, selectedRowIndex, true);
+			id itemID = widget.itemAtRow (selectedRowIndex);
+			if (itemID != null) {
+				Widget item = display.getWidget (itemID.id);
+				if (item != null && item instanceof TreeItem) {
+					event.item = display.getWidget (itemID.id);
+					sendSelectionEvent (SWT.Selection, event, false);
+				}
+			}
 			selectedRowIndex = -1;
-			sendSelectionEvent (SWT.Selection, event, false);
 			ignoreSelect = true;
 		}
 		dragDetected = false;
