diff --git a/src/com/android/settings/RestrictedSettingsFragment.java b/src/com/android/settings/RestrictedSettingsFragment.java
index 8e88b30..142a42c 100644
--- a/src/com/android/settings/RestrictedSettingsFragment.java
+++ b/src/com/android/settings/RestrictedSettingsFragment.java
@@ -54,7 +54,6 @@
     // If the restriction PIN is entered correctly.
     private boolean mChallengeSucceeded;
     private boolean mChallengeRequested;
-    private boolean mScreenToggledOff;
 
     private UserManager mUserManager;
     private RestrictionsManager mRestrictionsManager;
@@ -68,7 +67,6 @@
             if (!mChallengeRequested) {
                 mChallengeSucceeded = false;
                 mChallengeRequested = false;
-                mScreenToggledOff = true;
             }
         }
     };
@@ -93,19 +91,11 @@
         if (icicle != null) {
             mChallengeSucceeded = icicle.getBoolean(KEY_CHALLENGE_SUCCEEDED, false);
             mChallengeRequested = icicle.getBoolean(KEY_CHALLENGE_REQUESTED, false);
-        } else {
-            mChallengeSucceeded = false;
-            mChallengeRequested = false;
         }
-        mScreenToggledOff = false;
 
         IntentFilter offFilter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
         offFilter.addAction(Intent.ACTION_USER_PRESENT);
         getActivity().registerReceiver(mScreenOffReceiver, offFilter);
-
-        if (shouldBeProviderProtected(mRestrictionKey)) {
-            ensurePin();
-        }
     }
 
     @Override
@@ -121,11 +111,9 @@
     @Override
     public void onResume() {
         super.onResume();
-        if (mScreenToggledOff) {
-            mScreenToggledOff = false;
-            if(shouldBeProviderProtected(mRestrictionKey)) {
-                ensurePin();
-            }
+
+        if (shouldBeProviderProtected(mRestrictionKey)) {
+            ensurePin();
         }
     }
 
