diff --git a/src/cheogram/res/values/strings.xml b/src/cheogram/res/values/strings.xml
index 89e8d8ab4d6e4bcb84db678c62a31383a36c6073..efeeb2a0d5486e9e3795aa40911b2296a77285b4 100644
--- a/src/cheogram/res/values/strings.xml
+++ b/src/cheogram/res/values/strings.xml
@@ -53,4 +53,5 @@
     Ask your browser to render as if integrated with this app ("custom tab")
     Export Data (experimental)
     Export data useful for importing into another app. Not a full backup.
+    Full backups are meant for restore after a device loss, or for migrating to a new device. You cannot restore a backup to another app while still being connected with this one!
 
diff --git a/src/main/java/eu/siacs/conversations/ui/fragment/settings/BackupSettingsFragment.java b/src/main/java/eu/siacs/conversations/ui/fragment/settings/BackupSettingsFragment.java
index 7038f410c4281b2f1bc635707fca00a54267d8ab..ec749405c359dbf5bba21ed4882ba0314d657fe1 100644
--- a/src/main/java/eu/siacs/conversations/ui/fragment/settings/BackupSettingsFragment.java
+++ b/src/main/java/eu/siacs/conversations/ui/fragment/settings/BackupSettingsFragment.java
@@ -11,6 +11,7 @@ import androidx.activity.result.ActivityResultLauncher;
 import androidx.activity.result.contract.ActivityResultContracts;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
 import androidx.core.content.ContextCompat;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
@@ -29,6 +30,7 @@ import com.google.common.primitives.Longs;
 
 import eu.siacs.conversations.Config;
 import eu.siacs.conversations.R;
+import eu.siacs.conversations.entities.Account;
 import eu.siacs.conversations.persistance.FileBackend;
 import eu.siacs.conversations.worker.ExportBackupWorker;
 
@@ -131,6 +133,23 @@ public class BackupSettingsFragment extends XmppPreferenceFragment {
     }
 
     private boolean onBackupPreferenceClicked(final Preference preference) {
+        new AlertDialog.Builder(requireActivity())
+            .setTitle("Disable accounts")
+            .setMessage("Do you want to disable your accounts before making a backup (recommended)?")
+            .setPositiveButton(R.string.yes, (dialog, whichButton) -> {
+                for (final var account : requireService().getAccounts()) {
+                    account.setOption(Account.OPTION_DISABLED, true);
+                    if (!requireService().updateAccount(account)) {
+                        Toast.makeText(requireActivity(), R.string.unable_to_update_account, Toast.LENGTH_SHORT).show();
+                    }
+                }
+                aboutToStartOneOffBackup();
+            })
+            .setNegativeButton(R.string.no, (dialog, whichButton) -> aboutToStartOneOffBackup()).show();
+        return true;
+    }
+
+    private void aboutToStartOneOffBackup() {
         if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
             if (ContextCompat.checkSelfPermission(
                             requireContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)
@@ -142,7 +161,6 @@ public class BackupSettingsFragment extends XmppPreferenceFragment {
         } else {
             startOneOffBackup();
         }
-        return true;
     }
 
     private void startOneOffBackup() {
diff --git a/src/main/res/xml/preferences_backup.xml b/src/main/res/xml/preferences_backup.xml
index c2e271d749e427ab8ed3e8e7cf98676fced8b05c..32d66261e3b04c7419a8f45096ce9fdeee10f90e 100644
--- a/src/main/res/xml/preferences_backup.xml
+++ b/src/main/res/xml/preferences_backup.xml
@@ -1,6 +1,10 @@
 
 
 
+    
+