diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java
index d9b7b8c..cd66b4f 100644
--- a/src/com/android/launcher2/AllAppsView.java
+++ b/src/com/android/launcher2/AllAppsView.java
@@ -287,7 +287,7 @@
             mPFText.bindSampler(mSamplerText, 0);
 
             ProgramStore.Builder bs = new ProgramStore.Builder(mRS, null, null);
-            bs.setDepthFunc(ProgramStore.DepthFunc.LESS);
+            bs.setDepthFunc(ProgramStore.DepthFunc.ALWAYS);
             bs.setDitherEnable(false);
             bs.setDepthMask(true);
             bs.setBlendFunc(ProgramStore.BlendSrcFunc.SRC_ALPHA,
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index 36b2090..90722cf 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -296,18 +296,18 @@
 
             if (mAllAppsList.added.size() > 0) {
                 added = mAllAppsList.added;
-                added = new ArrayList();
+                mAllAppsList.added = new ArrayList();
             }
             if (mAllAppsList.removed.size() > 0) {
                 removed = mAllAppsList.removed;
-                removed = new ArrayList();
+                mAllAppsList.removed = new ArrayList();
                 for (ApplicationInfo info: removed) {
                     AppInfoCache.remove(info.intent.getComponent());
                 }
             }
             if (mAllAppsList.modified.size() > 0) {
                 modified = mAllAppsList.modified;
-                modified = new ArrayList();
+                mAllAppsList.modified = new ArrayList();
             }
 
             final Callbacks callbacks = mCallbacks.get();
@@ -438,6 +438,7 @@
                     while (!done) {
                         try {
                             mWaitThread.join();
+                            done = true;
                         } catch (InterruptedException ex) {
                         }
                     }
diff --git a/src/com/android/launcher2/Utilities.java b/src/com/android/launcher2/Utilities.java
index 53e42e3..0c5dbbd 100644
--- a/src/com/android/launcher2/Utilities.java
+++ b/src/com/android/launcher2/Utilities.java
@@ -264,12 +264,14 @@
             mTextWidth = bubbleWidth - mBubblePadding - mBubblePadding;
 
             Paint rectPaint = mRectPaint = new Paint();
-            rectPaint.setColor(0xaa000000);
+            rectPaint.setColor(0xff000000);
             rectPaint.setAntiAlias(true);
 
+            Log.d(Launcher.LOG_TAG, "scale=" + scale + " textSize=" + (13*scale));
+
             TextPaint textPaint = mTextPaint = new TextPaint();
-            textPaint.setTypeface(Typeface.DEFAULT_BOLD);
-            textPaint.setTextSize(20);
+            textPaint.setTypeface(Typeface.DEFAULT);
+            textPaint.setTextSize(13*scale);
             textPaint.setColor(0xffffffff);
             textPaint.setAntiAlias(true);
 
