diff --git a/QCameraHWI.cpp b/QCameraHWI.cpp
index cd14417..a957821 100644
--- a/QCameraHWI.cpp
+++ b/QCameraHWI.cpp
@@ -1079,22 +1079,8 @@
         mParameters.setPreviewFrameRateMode("frame-rate-auto");
         setPreviewFrameRateMode(mParameters);
 
-        if (mHasAutoFocusSupport) {
-            int cafSupport = true;
-            int caf_type = 2;
-            native_set_parms(MM_CAMERA_PARM_CAF_TYPE, sizeof(caf_type), (void *)&caf_type);
-            native_set_parms(MM_CAMERA_PARM_CONTINUOUS_AF, sizeof(cafSupport),
-                                   (void *)&cafSupport);
-        }
     }
 
-     if (mHasAutoFocusSupport && strcmp(str, "auto")) {
-         int cafSupport = true;
-         int caf_type = 2;
-         native_set_parms(MM_CAMERA_PARM_CAF_TYPE, sizeof(caf_type), (void *)&caf_type);
-         native_set_parms(MM_CAMERA_PARM_CONTINUOUS_AF, sizeof(cafSupport),
-                               (void *)&cafSupport);
-     }
     /*  get existing preview information, by qury mm_camera*/
     memset(&dim, 0, sizeof(cam_ctrl_dimension_t));
     ret = cam_config_get_parm(mCameraId, MM_CAMERA_PARM_DIMENSION,&dim);
