diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index a95336f..23a9f5b 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -372,7 +372,13 @@
 
     @Override
     public void onSingleTapUp(View view, int x, int y) {
-        if (mMediaRecorderRecording || mPaused || mCameraDevice == null) {
+        if (mPaused || mCameraDevice == null) {
+            return;
+        }
+        if (mMediaRecorderRecording) {
+            if (!mSnapshotInProgress) {
+                takeASnapshot();
+            }
             return;
         }
         // Check if metering area or focus area is supported.
@@ -387,7 +393,7 @@
         // Only take snapshots if video snapshot is supported by device
         if (CameraUtil.isVideoSnapshotSupported(mParameters) && !mIsVideoCaptureIntent) {
             if (!mMediaRecorderRecording || mPaused || mSnapshotInProgress
-                    || mAppController.isShutterEnabled()) {
+                    || !mAppController.isShutterEnabled()) {
                 return;
             }
 
@@ -399,7 +405,7 @@
             CameraUtil.setGpsParameters(mParameters, loc);
             mCameraDevice.setParameters(mParameters);
 
-            Log.v(TAG, "Video snapshot start");
+            Log.i(TAG, "Video snapshot start");
             mCameraDevice.takePicture(mHandler,
                     null, null, null, new JpegPictureCallback(loc));
             showVideoSnapshotUI(true);
@@ -1764,7 +1770,7 @@
 
         @Override
         public void onPictureTaken(byte [] jpegData, CameraProxy camera) {
-            Log.v(TAG, "onPictureTaken");
+            Log.i(TAG, "Video snapshot taken.");
             mSnapshotInProgress = false;
             showVideoSnapshotUI(false);
             storeImage(jpegData, mLocation);
diff --git a/src/com/android/camera/app/AndroidCameraManagerImpl.java b/src/com/android/camera/app/AndroidCameraManagerImpl.java
index 2385bc1..3c72cfb 100644
--- a/src/com/android/camera/app/AndroidCameraManagerImpl.java
+++ b/src/com/android/camera/app/AndroidCameraManagerImpl.java
@@ -963,7 +963,7 @@
             mDispatchThread.runJob(new Runnable() {
                 @Override
                 public void run() {
-                    mCameraState.waitForStates(CAMERA_IDLE);
+                    mCameraState.waitForStates(CAMERA_IDLE | CAMERA_UNLOCKED);
                     mCameraHandler.requestTakePicture(ShutterCallbackForward
                             .getNewInstance(handler, AndroidCameraProxyImpl.this, shutter),
                             PictureCallbackForward
