diff --git a/src/com/android/camera/EffectsRecorder.java b/src/com/android/camera/EffectsRecorder.java
index 737e828..8470038 100644
--- a/src/com/android/camera/EffectsRecorder.java
+++ b/src/com/android/camera/EffectsRecorder.java
@@ -73,6 +73,7 @@
     public static final int  EFFECT_MSG_SWITCHING_EFFECT = 2;
     public static final int  EFFECT_MSG_EFFECTS_STOPPED  = 3;
     public static final int  EFFECT_MSG_RECORDING_DONE   = 4;
+    public static final int  EFFECT_MSG_PREVIEW_RUNNING  = 5;
 
     private Context mContext;
     private Handler mHandler;
@@ -634,6 +635,9 @@
                 mState = STATE_PREVIEW;
 
                 if (mLogVerbose) Log.v(TAG, "Start preview/effect switch complete");
+
+                // Sending a message to listener that preview is complete
+                sendMessage(mCurrentEffect, EFFECT_MSG_PREVIEW_RUNNING);
             }
         }
     };
diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java
index f725f43..6a82187 100755
--- a/src/com/android/camera/VideoCamera.java
+++ b/src/com/android/camera/VideoCamera.java
@@ -432,6 +432,16 @@
         mShutterButton.setOnShutterButtonListener(this);
         mShutterButton.requestFocus();
 
+        // Disable the shutter button if effects are ON since it might take
+        // a little more time for the effects preview to be ready. We do not
+        // want to allow recording before that happens. The shutter button
+        // will be enabled when we get the message from effectsrecorder that
+        // the preview is running. This becomes critical when the camera is
+        // swapped.
+        if (effectsActive()) {
+            mShutterButton.setEnabled(false);
+        }
+
         mRecordingTimeView = (TextView) findViewById(R.id.recording_time);
         mRecordingTimeRect = (RotateLayout) findViewById(R.id.recording_time_rect);
         mOrientationListener = new MyOrientationEventListener(this);
@@ -641,6 +651,7 @@
     @Override
     public void onShutterButtonClick() {
         if (collapseCameraControls()) return;
+
         boolean stop = mMediaRecorderRecording;
 
         if (stop) {
@@ -1992,6 +2003,9 @@
                 }
             }
             mEffectsDisplayResult = false;
+        } else if (effectMsg == EffectsRecorder.EFFECT_MSG_PREVIEW_RUNNING) {
+            // Enable the shutter button once the preview is complete.
+            mShutterButton.setEnabled(true);
         } else if (effectId == EffectsRecorder.EFFECT_BACKDROPPER) {
             switch (effectMsg) {
                 case EffectsRecorder.EFFECT_MSG_STARTED_LEARNING:
