diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 1791d35..81eecaf 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -1079,7 +1079,7 @@
     mLastNativeWindowDataSpace = HAL_DATASPACE_UNKNOWN;
 
     ALOGV("gralloc usage: %#x(OMX) => %#x(ACodec)", omxUsage, usage);
-    err = setNativeWindowSizeFormatAndUsage(
+    return setNativeWindowSizeFormatAndUsage(
             nativeWindow,
             def.format.video.nFrameWidth,
             def.format.video.nFrameHeight,
@@ -1087,24 +1087,6 @@
             mRotationDegrees,
             usage,
             reconnect);
-    if (err == OK) {
-        OMX_CONFIG_RECTTYPE rect;
-        InitOMXParams(&rect);
-        rect.nPortIndex = kPortIndexOutput;
-        err = mOMXNode->getConfig(
-                OMX_IndexConfigCommonOutputCrop, &rect, sizeof(rect));
-        if (err == OK) {
-            ALOGV("rect size = %d, %d, %d, %d", rect.nLeft, rect.nTop, rect.nWidth, rect.nHeight);
-            android_native_rect_t crop;
-            crop.left = rect.nLeft;
-            crop.top = rect.nTop;
-            crop.right = rect.nLeft + rect.nWidth - 1;
-            crop.bottom = rect.nTop + rect.nHeight - 1;
-            ALOGV("crop update (%d, %d), (%d, %d)", crop.left, crop.top, crop.right, crop.bottom);
-            err = native_window_set_crop(nativeWindow, &crop);
-        }
-    }
-    return err;
 }
 
 status_t ACodec::configureOutputBuffersFromNativeWindow(
