diff --git a/ring-android/app/src/main/java/cx/ring/account/ConfirmRevocationDialog.java b/ring-android/app/src/main/java/cx/ring/account/ConfirmRevocationDialog.java
index 8cfbe3b0e8d41df4a6968474d5a4297da56ee956..70e73e27fc0fcb783a83ea4b30c785061f757b8d 100644
--- a/ring-android/app/src/main/java/cx/ring/account/ConfirmRevocationDialog.java
+++ b/ring-android/app/src/main/java/cx/ring/account/ConfirmRevocationDialog.java
@@ -43,6 +43,7 @@ import cx.ring.R;
 
 public class ConfirmRevocationDialog extends DialogFragment {
     public static final String DEVICEID_KEY = "deviceid_key";
+    public static final String HAS_PASSWORD_KEY = "has_password_key";
     static final String TAG = ConfirmRevocationDialog.class.getSimpleName();
     @BindView(R.id.password_txt_box)
     protected TextInputLayout mPasswordTxtBox;
@@ -53,6 +54,7 @@ public class ConfirmRevocationDialog extends DialogFragment {
     @BindString(R.string.revoke_device_title)
     protected String mRegisterTitle;
     private String mDeviceId;
+    private Boolean mHasPassword = true;
     private ConfirmRevocationListener mListener = null;
 
     public void setListener(ConfirmRevocationListener listener) {
@@ -65,7 +67,8 @@ public class ConfirmRevocationDialog extends DialogFragment {
         View view = requireActivity().getLayoutInflater().inflate(R.layout.dialog_confirm_revocation, null);
         ButterKnife.bind(this, view);
 
-        mDeviceId = getArguments().getString(DEVICEID_KEY);
+        mDeviceId = requireArguments().getString(DEVICEID_KEY);
+        mHasPassword = requireArguments().getBoolean(HAS_PASSWORD_KEY);
 
         final AlertDialog result = new MaterialAlertDialogBuilder(requireContext())
                 .setView(view)
@@ -84,12 +87,18 @@ public class ConfirmRevocationDialog extends DialogFragment {
                 }
             });
         });
-        result.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
+
+        if(mHasPassword) {
+            result.getWindow().setSoftInputMode(WindowManager.LayoutParams.
+                    SOFT_INPUT_STATE_VISIBLE);
+        } else {
+            mPasswordTxtBox.setVisibility(View.GONE);
+        }
         return result;
     }
 
     private boolean checkInput() {
-        if (mPasswordTxt.getText().toString().isEmpty()) {
+        if (mHasPassword && mPasswordTxt.getText().toString().isEmpty()) {
             mPasswordTxtBox.setErrorEnabled(true);
             mPasswordTxtBox.setError(mPromptPassword);
             return false;
diff --git a/ring-android/app/src/main/java/cx/ring/account/RingAccountSummaryFragment.java b/ring-android/app/src/main/java/cx/ring/account/RingAccountSummaryFragment.java
index d19a5e347bfa04220457e820c47d21d9da74e2c2..1d30e7e150872a26a5d5aaa40a4e752950bf2092 100644
--- a/ring-android/app/src/main/java/cx/ring/account/RingAccountSummaryFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/account/RingAccountSummaryFragment.java
@@ -542,6 +542,7 @@ public class RingAccountSummaryFragment extends BaseSupportFragment<RingAccountS
         ConfirmRevocationDialog dialog = new ConfirmRevocationDialog();
         Bundle args = new Bundle();
         args.putString(ConfirmRevocationDialog.DEVICEID_KEY, deviceId);
+        args.putBoolean(ConfirmRevocationDialog.HAS_PASSWORD_KEY, mAccountHasPassword);
         dialog.setArguments(args);
         dialog.setListener(this);
         dialog.show(requireFragmentManager(), FRAGMENT_DIALOG_REVOCATION);