diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index 2cd470ebc95bed1f3f5cea7a7eb470e51977065d..f0dbcb52dfa9e44039f41854c17ed064893dfe96 100755
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -3224,7 +3224,6 @@ public class CaptureModule implements CameraModule, PhotoController,
                                             CaptureFailure result) {
                     Log.d(TAG, "captureStillPictureForCommon onCaptureFailed: " + id);
                     enableShutterAndVideoOnUiThread(id, true);
-                    setCameraModeSwitcherAllowed(true);
                 }
 
                 @Override
@@ -3719,6 +3718,10 @@ public class CaptureModule implements CameraModule, PhotoController,
     public void unlockFocus(int id) {
         Log.d(TAG, "unlockFocus " + id);
         isFlashRequiredInDriver = false;
+        if ((mCurrentSceneMode.mode == CameraMode.HFR) && isHighSpeedRateCapture()) {
+            Log.d(TAG, "unlockFocus should not be triggered in HFR");
+            return;
+        }
         if (!checkSessionAndBuilder(mCaptureSession[id], mPreviewRequestBuilder[id])) {
             return;
         }
@@ -6929,6 +6932,9 @@ public class CaptureModule implements CameraModule, PhotoController,
             }
             return;
         }
+        if (!mUI.isShutterEnabled()) {
+            return;
+        }
         setCameraModeSwitcherAllowed(false);
         Log.d(TAG,"onShutterButtonClick");
         String timer = mSettingsManager.getValue(SettingsManager.KEY_TIMER);