diff --git a/Source/classes/Select.js b/Source/classes/Select.js
index <HASH>..<HASH> 100644
--- a/Source/classes/Select.js
+++ b/Source/classes/Select.js
@@ -284,14 +284,14 @@ Garnish.Select = Garnish.Base.extend({
 		// was this a click?
 		if (! (ev.metaKey || ev.ctrlKey) && ! ev.shiftKey && Garnish.getDist(this.mousedownX, this.mousedownY, ev.pageX, ev.pageY) < 1)
 		{
-			this.selectItem($item);
-
 			// wait a moment before deselecting others
 			// to give the user a chance to double-click
 			this.clearMouseUpTimeout();
 			this.mouseUpTimeout = setTimeout($.proxy(function() {
 				this.deselectOthers($item);
 			}, this), this.mouseUpTimeoutDuration);
+
+			this.selectItem($item);
 		}
 	},
 
@@ -861,7 +861,7 @@ Garnish.Select = Garnish.Base.extend({
 			{
 				this.callbackTimeout = null;
 				this.settings.onSelectionChange();
-			}, this), 300);
+			}, this), this.mouseUpTimeoutDuration);
 		}
 	},
Don't delay the 'onSelectionChange' callback if we're not actually waiting for a double click