diff --git a/msm8226/libgralloc/gpu.cpp b/msm8226/libgralloc/gpu.cpp
index 06d5003aa5..15eb10aa5b 100644
--- a/msm8226/libgralloc/gpu.cpp
+++ b/msm8226/libgralloc/gpu.cpp
@@ -286,6 +286,10 @@ int gpu_context_t::alloc_impl(int w, int h, int format, int usage,
         else if(usage & GRALLOC_USAGE_HW_COMPOSER)
             //XXX: If we still haven't set a format, default to RGBA8888
             grallocFormat = HAL_PIXEL_FORMAT_RGBA_8888;
+        else if(format == HAL_PIXEL_FORMAT_YCbCr_420_888)
+            // If no other usage flags are detected, default the flexible YUV
+            // format to NV21_ZSL.
+            grallocFormat = HAL_PIXEL_FORMAT_NV21_ZSL;
     }
 
     getGrallocInformationFromFormat(grallocFormat, &bufferType);