diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
index 00b0f24..b11dcbe 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
@@ -3556,8 +3556,8 @@
 	* when its bounds changes.  The fix is to ignore these events.
 	*/
 	Display display = this.display;
-	boolean oldIgnoreFocus = display.ignoreFocus;
-	display.ignoreFocus = true;
+	Control oldIgnoreFocusControl = display.ignoreFocusControl;
+	display.ignoreFocusControl = this;
 	NSView topView = topView();
 	if (move && resize) {
 		NSRect rect = new NSRect();
@@ -3577,7 +3577,7 @@
 		size.height = height;
 		topView.setFrameSize(size);
 	}
-	display.ignoreFocus = oldIgnoreFocus;
+	display.ignoreFocusControl = oldIgnoreFocusControl;
 }
 
 /**
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java
index 84d2e16..d83addf 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java
@@ -130,12 +130,11 @@
 
 	Caret currentCaret;
 	
-	boolean ignoreFocus;
 	boolean sendEvent;
 	int clickCountButton, clickCount;
 	int blinkTime;
 
-	Control currentControl, trackingControl, tooltipControl;
+	Control currentControl, trackingControl, tooltipControl, ignoreFocusControl;
 	Widget tooltipTarget;
 	
 	NSMutableArray isPainting, needsDisplay, needsDisplayInRect, runLoopModes;
@@ -652,9 +651,16 @@
 }
 
 void checkFocus () {
-	if (ignoreFocus) return;
 	Control oldControl = currentFocusControl;
 	Control newControl = getFocusControl ();
+	if (oldControl == ignoreFocusControl && newControl == null) {
+		/*
+		* Bug in Cocoa. On Mac 10.8, a control loses and gains focus
+		* when its bounds changes.  The fix is to ignore these events.
+		* See Bug 388574 & 433275.
+		*/
+		return;
+	}
 	if (oldControl != newControl) {
 		if (oldControl != null && !oldControl.isDisposed ()) {
 			oldControl.sendFocusEvent (SWT.FocusOut);
