         otherLanguagesButton?.setBackgroundImage(UIImage.wmf_imageFromColor(UIColor(white: 0.9, alpha: 1.0)), forState: .Highlighted)
         otherLanguagesButton?.setTitle(localizedStringForKeyFallingBackOnEnglish("main-menu-title"), forState: .Normal)
         otherLanguagesButton?.titleLabel?.font = UIFont.wmf_subtitle()
-        
-        previousFirstLanguage = languageBarLanguages().first
+
+        NSNotificationCenter.defaultCenter().addObserverForName(WMFAppLanguageDidChangeNotification, object: nil, queue: nil) { note in
+            if let langController = note.object, appLanguage = langController.appLanguage {
+                self.currentlySelectedSearchLanguage = appLanguage
+            }
+        }
+    }
+
+    deinit {
+        NSNotificationCenter.defaultCenter().removeObserver(self)
     }
     
     override func viewWillAppear(animated: Bool) {

    func searchLanguagesBarViewController(controller: WMFSearchLanguagesBarViewController, didChangeCurrentlySelectedSearchLanguage language: MWKLanguageLink)
}

class WMFSearchLanguagesBarViewController: UIViewController, WMFPreferredLanguagesViewControllerDelegate {
    weak var delegate: WMFSearchLanguagesBarViewControllerDelegate?
    
    @IBOutlet private var languageButtons: [UIButton] = []
    @IBOutlet private var otherLanguagesButton: UIButton?
    @IBOutlet private var heightConstraint: NSLayoutConstraint?
    
    private var previousFirstLanguage: MWKLanguageLink?
    private var hidden: Bool = false {
        didSet {
            if(hidden){

        presentViewController(UINavigationController.init(rootViewController: languagesVC), animated: true, completion: nil)
    }

    func languagesController(controller: WMFPreferredLanguagesViewController!, didUpdatePreferredLanguages languages: [MWKLanguageLink]!) {
        // Reminder: nothing needs to be updated here because it happens in view will/did appear.
    }
    
    func languagesController(controller: WMFLanguagesViewController!, didSelectLanguage language: MWKLanguageLink!) {
        currentlySelectedSearchLanguage = language
        controller.dismissViewControllerAnimated(true, completion: nil)
    }
}
