         // Explanation of why the first responder is set here:
         // http://stackoverflow.com/a/19580888/751268
 
-        if self.behaviors?.contains(.AutomaticallyFocusTextField) == true && !self.didAssignFirstResponder {
-            self.textFields?.first?.becomeFirstResponder()
-            self.didAssignFirstResponder = true
+        if self.behaviors?.contains(.AutomaticallyFocusTextField) == true {
+            dispatch_once(&kDidAssignFirstResponderToken) {
+                self.textFields?.first?.becomeFirstResponder()
+            }
         }
     }
 

import UIKit

/**
The alert controller's style.



    @IBOutlet private var alertView: AlertControllerView! = AlertView()
    private lazy var transitionDelegate: Transition = Transition(alertStyle: self.preferredStyle)

    // MARK: - Initialization

