diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index ed1d0dd..3d5e271 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -393,7 +393,7 @@
 
         private int upgradeQualityForDPM(int quality) {
             // Compare min allowed password quality
-            int minQuality = mDPM.getPasswordQuality(null);
+            int minQuality = mDPM.getPasswordQuality(null, mUserId);
             if (quality < minQuality) {
                 quality = minQuality;
             }
@@ -422,7 +422,7 @@
                 boolean hideDisabled) {
             final PreferenceScreen entries = getPreferenceScreen();
 
-            int adminEnforcedQuality = mDPM.getPasswordQuality(null);
+            int adminEnforcedQuality = mDPM.getPasswordQuality(null, mUserId);
             EnforcedAdmin enforcedAdmin = RestrictedLockUtils.checkIfPasswordQualityIsSet(
                     getActivity(), mUserId);
             for (int i = entries.getPreferenceCount() - 1; i >= 0; --i) {
@@ -592,7 +592,7 @@
             Intent intent = null;
             final Context context = getActivity();
             if (quality >= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC) {
-                int minLength = mDPM.getPasswordMinimumLength(null);
+                int minLength = mDPM.getPasswordMinimumLength(null, mUserId);
                 if (minLength < MIN_PASSWORD_LENGTH) {
                     minLength = MIN_PASSWORD_LENGTH;
                 }
