diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
index a6b0dca..63d9335 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.fingerprint;
 
-import android.content.Context;
 import android.content.Intent;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.Bundle;
@@ -32,15 +31,19 @@
 
     private static final int CONFIRM_REQUEST = 1;
     private static final int ENROLLING = 2;
+    public static final String EXTRA_KEY_LAUNCHED_CONFIRM = "launched_confirm_lock";
 
     private FingerprintLocationAnimationView mAnimation;
+    private boolean mLaunchedConfirmLock;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.fingerprint_enroll_find_sensor);
         setHeaderText(R.string.security_settings_fingerprint_enroll_find_sensor_title);
-        if (mToken == null) {
+        mLaunchedConfirmLock = savedInstanceState != null && savedInstanceState.getBoolean(
+                EXTRA_KEY_LAUNCHED_CONFIRM);
+        if (mToken == null && !mLaunchedConfirmLock) {
             launchConfirmLock();
         }
         mAnimation = (FingerprintLocationAnimationView) findViewById(
@@ -60,6 +63,12 @@
     }
 
     @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putBoolean(EXTRA_KEY_LAUNCHED_CONFIRM, mLaunchedConfirmLock);
+    }
+
+    @Override
     protected void onNextButtonClick() {
         startActivityForResult(getEnrollingIntent(), ENROLLING);
     }
@@ -107,6 +116,8 @@
             // This shouldn't happen, as we should only end up at this step if a lock thingy is
             // already set.
             finish();
+        } else {
+            mLaunchedConfirmLock = true;
         }
     }
 
