diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp
index d42d04d..8eece52 100644
--- a/libhwcomposer/hwc_mdpcomp.cpp
+++ b/libhwcomposer/hwc_mdpcomp.cpp
@@ -413,7 +413,7 @@
         const hwc_layer_1_t* layer =  &list->hwLayers[i];
 
         hwc_rect_t dstRect = layer->displayFrame;
-        hwc_rect_t srcRect = layer->sourceCrop;
+        hwc_rect_t srcRect = integerizeSourceCrop(layer->sourceCropf);
         int transform = layer->transform;
         trimLayer(ctx, mDpy, transform, srcRect, dstRect);
 
@@ -464,7 +464,8 @@
         if ((mCachedFrame.hnd[index] != list->hwLayers[index].handle) ||
             isYuvBuffer((private_handle_t *)list->hwLayers[index].handle)) {
             hwc_rect_t dstRect = list->hwLayers[index].displayFrame;
-            hwc_rect_t srcRect = list->hwLayers[index].sourceCrop;
+            hwc_rect_t srcRect = integerizeSourceCrop(
+                                        list->hwLayers[index].sourceCropf);
             int transform = list->hwLayers[index].transform;
 
             /* Intersect against display boundaries */
@@ -679,7 +680,7 @@
         uint32_t batchPixelCount = 0;
         for(int j = i; j < i + batchSize; j++) {
             hwc_layer_1_t* layer = &list->hwLayers[j];
-            hwc_rect_t crop = layer->sourceCrop;
+            hwc_rect_t crop = integerizeSourceCrop(layer->sourceCropf);
             batchPixelCount += (crop.right - crop.left) *
                     (crop.bottom - crop.top);
         }
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index ee97de5..aa40223 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -992,7 +992,7 @@
    also it avoid hole creation.*/
 void deductRect(const hwc_layer_1_t* layer, hwc_rect_t& irect) {
     hwc_rect_t& disprect = (hwc_rect_t&)layer->displayFrame;
-    hwc_rect_t& srcrect = (hwc_rect_t&)layer->sourceCrop;
+    hwc_rect_t srcrect = integerizeSourceCrop(layer->sourceCropf);
     int irect_w = irect.right - irect.left;
     int irect_h = irect.bottom - irect.top;
 
