diff --git a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java
index 899a761..f3068b1 100644
--- a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java
+++ b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java
@@ -76,7 +76,8 @@
  * {@link com.android.internal.policy.impl.KeyguardViewManager}
  * via its {@link com.android.internal.policy.impl.KeyguardViewCallback}, as appropriate.
  */
-public class LockPatternKeyguardView extends KeyguardViewBase implements Handler.Callback {
+public class LockPatternKeyguardView extends KeyguardViewBase implements Handler.Callback,
+        KeyguardUpdateMonitor.InfoCallback {
 
     private static final int TRANSPORT_USERACTIVITY_TIMEOUT = 10000;
 
@@ -266,6 +267,8 @@
         mLockPatternUtils = lockPatternUtils;
         mWindowController = controller;
 
+        mUpdateMonitor.registerInfoCallback(this);
+
         mKeyguardScreenCallback = new KeyguardScreenCallback() {
 
             public void goToLockScreen() {
@@ -588,6 +591,25 @@
         post(mRecreateRunnable);
     }
 
+    //Ignore these events; they are implemented only because they come from the same interface
+    @Override
+    public void onRefreshBatteryInfo(boolean showBatteryInfo, boolean pluggedIn, int batteryLevel)
+    {}
+    @Override
+    public void onTimeChanged() {}
+    @Override
+    public void onRefreshCarrierInfo(CharSequence plmn, CharSequence spn) {}
+    @Override
+    public void onRingerModeChanged(int state) {}
+    @Override
+    public void onClockVisibilityChanged() {}
+
+    //We need to stop faceunlock when a phonecall comes in
+    @Override
+    public void onPhoneStateChanged(int phoneState) {
+        if(phoneState == TelephonyManager.CALL_STATE_RINGING) stopAndUnbindFromFaceLock();
+    }
+
     @Override
     protected boolean dispatchHoverEvent(MotionEvent event) {
         // Do not let the screen to get locked while the user is disabled and touch
