diff --git a/src/com/android/settings/fuelgauge/BatterySipper.java b/src/com/android/settings/fuelgauge/BatterySipper.java
index ffc6651..9a8e783 100644
--- a/src/com/android/settings/fuelgauge/BatterySipper.java
+++ b/src/com/android/settings/fuelgauge/BatterySipper.java
@@ -32,7 +32,8 @@
 
 class BatterySipper implements Comparable<BatterySipper> {
     final Context mContext;
-    final HashMap<String,UidToDetail> mUidCache = new HashMap<String,UidToDetail>();
+    /* Cache cleared when PowerUsageSummary is destroyed */
+    static final HashMap<String,UidToDetail> sUidCache = new HashMap<String,UidToDetail>();
     final ArrayList<BatterySipper> mRequestQueue;
     final Handler mHandler;
     String name;
@@ -99,8 +100,8 @@
     void getQuickNameIconForUid(Uid uidObj) {
         final int uid = uidObj.getUid();
         final String uidString = Integer.toString(uid);
-        if (mUidCache.containsKey(uidString)) {
-            UidToDetail utd = mUidCache.get(uidString);
+        if (sUidCache.containsKey(uidString)) {
+            UidToDetail utd = sUidCache.get(uidString);
             defaultPackageName = utd.packageName;
             name = utd.name;
             icon = utd.icon;
@@ -193,7 +194,7 @@
         utd.name = name;
         utd.icon = icon;
         utd.packageName = defaultPackageName;
-        mUidCache.put(uidString, utd);
+        sUidCache.put(uidString, utd);
         mHandler.sendMessage(mHandler.obtainMessage(PowerUsageSummary.MSG_UPDATE_NAME_ICON, this));
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 8ee8960..1dcb02c 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -178,6 +178,8 @@
         super.onDestroy();
         if (getActivity().isChangingConfigurations()) {
             sStatsXfer = mStats;
+        } else {
+            BatterySipper.sUidCache.clear();
         }
     }
 
