diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index a9f6946754131..180c8b261a069 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -2971,4 +2971,7 @@
enter device
+
+ Use fingerprint to open
+
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index c1eaaaf92d521..6b68fc6640ee9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -888,7 +888,14 @@ public class KeyguardIndicationController implements KeyguardStateController.Cal
if (msgId == FaceManager.FACE_ERROR_TIMEOUT) {
// The face timeout message is not very actionable, let's ask the user to
// manually retry.
- showSwipeUpToUnlock();
+ if (!mStatusBarKeyguardViewManager.isBouncerShowing()
+ && mKeyguardUpdateMonitor.isUdfpsEnrolled()) {
+ // suggest trying fingerprint
+ showTransientIndication(R.string.keyguard_try_fingerprint);
+ } else {
+ // suggest swiping up to unlock (try face auth again or swipe up to bouncer)
+ showSwipeUpToUnlock();
+ }
} else if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
mStatusBarKeyguardViewManager.showBouncerMessage(errString, mInitialTextColorState);
} else if (mKeyguardUpdateMonitor.isScreenOn()) {