diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 6096029..21e8caa 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -49,6 +49,7 @@
 import android.app.Dialog;
 import android.app.DialogFragment;
 import android.app.Fragment;
+import android.app.FragmentManager;
 import android.app.FragmentTransaction;
 import android.app.LoaderManager.LoaderCallbacks;
 import android.content.ContentResolver;
@@ -518,6 +519,15 @@
         mUidDetailProvider = null;
     }
 
+    @Override
+    public void onDestroy() {
+        if (this.isRemoving()) {
+            getFragmentManager()
+                    .popBackStack(TAG_APP_DETAILS, FragmentManager.POP_BACK_STACK_INCLUSIVE);
+        }
+        super.onDestroy();
+    }
+
     /**
      * Listener to setup {@link LayoutTransition} after first layout pass.
      */
@@ -1502,7 +1512,6 @@
             final AppDetailsFragment fragment = new AppDetailsFragment();
             fragment.setArguments(args);
             fragment.setTargetFragment(parent, 0);
-
             final FragmentTransaction ft = parent.getFragmentManager().beginTransaction();
             ft.add(fragment, TAG_APP_DETAILS);
             ft.addToBackStack(TAG_APP_DETAILS);
