diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 07be47f3a3a37fe2956dbffff1b901db630036e5..1e238be804536c8d094b8b4fab671f26b37ad095 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -484,6 +484,7 @@ public class PhotoModule
 
                 case SWITCH_TO_GCAM_MODULE: {
                     mActivity.onModuleSelected(ModuleSwitcher.GCAM_MODULE_INDEX);
+                    break;
                 }
 
                 case CONFIGURE_SKIN_TONE_FACTOR: {
@@ -716,6 +717,7 @@ public class PhotoModule
         updateCameraSettings();
         showTapToFocusToastIfNeeded();
         resetManual3ASettings();
+        resetMiscSettings();
     }
 
     @Override
@@ -769,6 +771,25 @@ public class PhotoModule
         mManual3AEnabled = 0;
     }
 
+    private void resetMiscSettings() {
+        boolean disableQcomMiscSetting =
+                SystemProperties.getBoolean("camera.qcom.misc.disable", false);
+        if (disableQcomMiscSetting) {
+            mUI.setPreference(CameraSettings.KEY_ZSL, Parameters.ZSL_OFF);
+            mUI.setPreference(CameraSettings.KEY_FACE_DETECTION,
+                    Parameters.FACE_DETECTION_OFF);
+            mUI.setPreference(CameraSettings.KEY_TOUCH_AF_AEC,
+                    Parameters.TOUCH_AF_AEC_OFF);
+            mUI.setPreference(CameraSettings.KEY_FOCUS_MODE,
+                    Parameters.FOCUS_MODE_AUTO);
+            mUI.setPreference(CameraSettings.KEY_FLASH_MODE,
+                    Parameters.FLASH_MODE_OFF);
+            mUI.setPreference(CameraSettings.KEY_DENOISE,
+                    Parameters.DENOISE_OFF);
+            onSharedPreferenceChanged();
+        }
+    }
+
     void setPreviewFrameLayoutCameraOrientation(){
         CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];
         //if camera mount angle is 0 or 180, we want to resize preview
@@ -1820,17 +1841,6 @@ public class PhotoModule
         } else {
             mUI.overrideSettings(CameraSettings.KEY_LONGSHOT, null);
         }
-
-        boolean disableQcomMiscSetting =
-                SystemProperties.getBoolean("camera.qcom.misc.disable", false);
-        if (disableQcomMiscSetting) {
-            mUI.overrideSettings(CameraSettings.KEY_ZSL, Parameters.ZSL_OFF);
-            mUI.overrideSettings(CameraSettings.KEY_FACE_DETECTION, Parameters.FACE_DETECTION_OFF);
-            mUI.overrideSettings(CameraSettings.KEY_TOUCH_AF_AEC, Parameters.TOUCH_AF_AEC_OFF);
-            mUI.overrideSettings(CameraSettings.KEY_FOCUS_MODE, Parameters.FOCUS_MODE_AUTO);
-            mUI.overrideSettings(CameraSettings.KEY_FLASH_MODE, Parameters.FLASH_MODE_OFF);
-            mUI.overrideSettings(CameraSettings.KEY_DENOISE, Parameters.DENOISE_OFF);
-        }
     }
 
     private void overrideCameraSettings(final String flashMode,