diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index a0aea00..cc88236 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1982,9 +1982,8 @@
 }
 
 SkXfermode::Mode OpenGLRenderer::getXfermode(SkXfermode* mode) {
-    /* In the future we should look at unifying the Porter-Duff modes and
-     * SkXferModes so that we can use SkXfermode::IsMode(xfer, &mode).
-     */
+    // In the future we should look at unifying the Porter-Duff modes and
+    // SkXferModes so that we can use SkXfermode::IsMode(xfer, &mode).
     if (mode == NULL) {
         return SkXfermode::kSrcOver_Mode;
     }
diff --git a/libs/hwui/TextDropShadowCache.h b/libs/hwui/TextDropShadowCache.h
index ffccfa2..1e065d1 100644
--- a/libs/hwui/TextDropShadowCache.h
+++ b/libs/hwui/TextDropShadowCache.h
@@ -58,6 +58,7 @@
     SkTypeface* typeface;
     String8 str;
 
+    // TODO: Should take into account fake bold and text skew
     bool operator<(const ShadowText& rhs) const {
         LTE_INT(len) {
             LTE_INT(radius) {
diff --git a/libs/hwui/TextureCache.cpp b/libs/hwui/TextureCache.cpp
index e560b8f..3752874 100644
--- a/libs/hwui/TextureCache.cpp
+++ b/libs/hwui/TextureCache.cpp
@@ -209,13 +209,10 @@
         // decoding happened
         texture->blend = !bitmap->isOpaque();
         break;
+    case SkBitmap::kARGB_4444_Config:
     case SkBitmap::kIndex8_Config:
         uploadLoFiTexture(resize, bitmap, texture->width, texture->height);
-        texture->blend = false;
-        break;
-    case SkBitmap::kARGB_4444_Config:
-        uploadLoFiTexture(resize, bitmap, texture->width, texture->height);
-        texture->blend = true;
+        texture->blend = !bitmap->isOpaque();
         break;
     default:
         LOGW("Unsupported bitmap config: %d", bitmap->getConfig());
@@ -235,6 +232,7 @@
     rgbaBitmap.setConfig(SkBitmap::kARGB_8888_Config, width, height);
     rgbaBitmap.allocPixels();
     rgbaBitmap.eraseColor(0);
+    rgbaBitmap.setIsOpaque(bitmap->isOpaque());
 
     SkCanvas canvas(rgbaBitmap);
     canvas.drawBitmap(*bitmap, 0.0f, 0.0f, NULL);
