diff --git a/src/com/android/settings/localepicker/AppLocalePickerActivity.java b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
index 2c652c6..808cac1 100644
--- a/src/com/android/settings/localepicker/AppLocalePickerActivity.java
+++ b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
@@ -87,6 +87,12 @@
     }
 
     @Override
+    public void onResume() {
+        super.onResume();
+        mLocalePickerWithRegion.getListView().addHeaderView(launchAppLocaleDetailsPage());
+    }
+
+    @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (item.getItemId() == android.R.id.home) {
             handleBackPressed();
@@ -143,21 +149,7 @@
     void launchLocalePickerPage() {
         // LocalePickerWithRegion use android.app.ListFragment. Thus, it can not use
         // getSupportFragmentManager() to add this into container.
-        android.app.FragmentManager fragmentManager = getFragmentManager();
-        fragmentManager.registerFragmentLifecycleCallbacks(
-                new android.app.FragmentManager.FragmentLifecycleCallbacks() {
-                    @Override
-                    public void onFragmentViewCreated(
-                            android.app.FragmentManager fm,
-                            android.app.Fragment f,
-                            View v,
-                            Bundle savedInstanceState) {
-                        super.onFragmentViewCreated(fm, f, v, savedInstanceState);
-                        mLocalePickerWithRegion.getListView()
-                                .addHeaderView(launchAppLocaleDetailsPage());
-                    }
-                }, true);
-        fragmentManager.beginTransaction()
+        getFragmentManager().beginTransaction()
                 .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
                 .replace(R.id.content_frame, mLocalePickerWithRegion)
                 .commit();
