diff --git a/ring-android/app/src/main/java/cx/ring/account/AccountEditionActivity.java b/ring-android/app/src/main/java/cx/ring/account/AccountEditionActivity.java
index b3b948692962899511562c3210e82f3a487d2a41..f15109dcee52a56b3f23ff213a95930a4688bf25 100644
--- a/ring-android/app/src/main/java/cx/ring/account/AccountEditionActivity.java
+++ b/ring-android/app/src/main/java/cx/ring/account/AccountEditionActivity.java
@@ -59,6 +59,7 @@ import cx.ring.fragments.SecurityAccountFragment;
 public class AccountEditionActivity extends AppCompatActivity implements AccountEditionView {
 
     public static final String ACCOUNT_ID_KEY = AccountEditionActivity.class.getCanonicalName() + "accountid";
+    public static final String ACCOUNT_HAS_PASSWORD_KEY = AccountEditionActivity.class.getCanonicalName() + "hasPassword";
 
     public static final String TAG = AccountEditionActivity.class.getSimpleName();
 
diff --git a/ring-android/app/src/main/java/cx/ring/account/RegisterNameDialog.java b/ring-android/app/src/main/java/cx/ring/account/RegisterNameDialog.java
index f274f5133383f24a8ef1ff1ef1424cbcbea555df..cd4ef5d11e8fdd796eb1e4dca4f3068a69b85118 100644
--- a/ring-android/app/src/main/java/cx/ring/account/RegisterNameDialog.java
+++ b/ring-android/app/src/main/java/cx/ring/account/RegisterNameDialog.java
@@ -146,14 +146,17 @@ public class RegisterNameDialog extends DialogFragment implements Observer<Servi
         ((RingApplication) getActivity().getApplication()).getRingInjectionComponent().inject(this);
 
         String accountId = "";
+        boolean hasPassword = true;
         Bundle args = getArguments();
         if (args != null) {
             accountId = args.getString(AccountEditionActivity.ACCOUNT_ID_KEY, accountId);
+            hasPassword = args.getBoolean(AccountEditionActivity.ACCOUNT_HAS_PASSWORD_KEY, true);
         }
 
         mUsernameTxt.setFilters(new InputFilter[]{new RegisteredNameFilter()});
         mUsernameTextWatcher = new RegisteredNameTextWatcher(getActivity(), mAccountService, accountId, mUsernameTxtBox, mUsernameTxt);
         mUsernameTxt.addTextChangedListener(mUsernameTextWatcher);
+        mPasswordTxtBox.setVisibility(hasPassword ? View.VISIBLE : View.GONE);
 
         AlertDialog dialog = (AlertDialog) getDialog();
         if (dialog != null) {
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 df6650b44b27368f9b811d8a12b5eb11f464233a..51ca7595595ebc2b78739a29be5c8e59c4ec9730 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
@@ -56,6 +56,7 @@ import cx.ring.application.RingApplication;
 import cx.ring.dependencyinjection.RingInjectionComponent;
 import cx.ring.interfaces.BackHandlerInterface;
 import cx.ring.model.Account;
+import cx.ring.model.ConfigKey;
 import cx.ring.mvp.BaseFragment;
 import cx.ring.utils.KeyboardVisibilityManager;
 import cx.ring.views.LinkNewDeviceLayout;
@@ -126,6 +127,7 @@ public class RingAccountSummaryFragment extends BaseFragment<RingAccountSummaryP
     */
     private DeviceAdapter mDeviceAdapter;
     private ProgressDialog mWaitDialog;
+    private boolean mAccountHasPassword = true;
 
     @Override
     public void onResume() {
@@ -201,6 +203,9 @@ public class RingAccountSummaryFragment extends BaseFragment<RingAccountSummaryP
                 Drawable wrapped = DrawableCompat.wrap(drawable);
                 DrawableCompat.setTint(wrapped, color);
                 mAccountStatus.setBackground(wrapped);
+
+                mAccountHasPassword = account.getDetailBoolean(ConfigKey.ARCHIVE_HAS_PASSWORD);
+                mPasswordLayout.setVisibility(mAccountHasPassword ? View.VISIBLE : View.GONE);
             }
         });
     }
@@ -232,7 +237,7 @@ public class RingAccountSummaryFragment extends BaseFragment<RingAccountSummaryP
 
     private void showWizard() {
         mLinkAccountView.setVisibility(View.VISIBLE);
-        mPasswordLayout.setVisibility(View.VISIBLE);
+        mPasswordLayout.setVisibility(mAccountHasPassword ? View.VISIBLE : View.GONE);
         mEndBtn.setVisibility(View.GONE);
         mStartBtn.setVisibility(View.VISIBLE);
         mExportInfos.setText(R.string.account_link_export_info);
@@ -331,6 +336,7 @@ public class RingAccountSummaryFragment extends BaseFragment<RingAccountSummaryP
     public void showUsernameRegistrationPopup() {
         Bundle args = new Bundle();
         args.putString(AccountEditionActivity.ACCOUNT_ID_KEY, getArguments().getString(AccountEditionActivity.ACCOUNT_ID_KEY));
+        args.putBoolean(AccountEditionActivity.ACCOUNT_HAS_PASSWORD_KEY, mAccountHasPassword);
         RegisterNameDialog registrationDialog = new RegisterNameDialog();
         registrationDialog.setArguments(args);
         registrationDialog.setListener(this);
diff --git a/ring-android/app/src/main/res/values/strings_account.xml b/ring-android/app/src/main/res/values/strings_account.xml
index aaa0c53067a24f5622dc049a917a97244ba9be67..4f6e93b651631ce022690186cf499c9d02e4562b 100644
--- a/ring-android/app/src/main/res/values/strings_account.xml
+++ b/ring-android/app/src/main/res/values/strings_account.xml
@@ -184,7 +184,7 @@ along with this program; if not, write to the Free Software
     <string name="account_link_prompt_pin">Enter PIN</string>
     <string name="account_new_button">Create a Ring account</string>
     <string name="account_link_export_button">Link another device to this account</string>
-    <string name="account_link_export_info">To use this account on other devices, you must first expose it on Ring. This will generate a PIN code that you must enter on the new device to set up the account. The PIN is valid for 10 minutes. \n\nPlease provide your password to start:</string>
+    <string name="account_link_export_info">To use this account on other devices, you must first expose it on Ring. This will generate a PIN code that you must enter on the new device to set up the account. The PIN is valid for 10 minutes.</string>
     <string name="account_start_export_button">Generate Pin</string>
     <string name="account_end_export_button">close</string>
     <string name="account_end_export_infos">Your Pin is:\n\n%%\n\nTo complete the process, you need to open Ring on the new device. Create a new account with \"Link this device to an account\". Your pin is valid for 10 minutes.</string>
diff --git a/ring-android/libringclient/src/main/java/cx/ring/model/ConfigKey.java b/ring-android/libringclient/src/main/java/cx/ring/model/ConfigKey.java
index e03235cf392814ef99b40803978a55bacdb298e5..f8f6093f9b9a9871bdcf2621b004bd1777140401 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/model/ConfigKey.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/model/ConfigKey.java
@@ -65,6 +65,7 @@ public enum ConfigKey {
     VIDEO_PORT_MAX("Account.videoPortMax"),
     PRESENCE_ENABLE("Account.presenceEnabled"),
     ARCHIVE_PASSWORD("Account.archivePassword"),
+    ARCHIVE_HAS_PASSWORD("Account.archiveHasPassword"),
     ARCHIVE_PIN("Account.archivePIN"),
     DISPLAY_NAME("Account.displayName"),
     ETH_ACCOUNT("ETH.account"),