diff --git a/briar-android/res/values/strings.xml b/briar-android/res/values/strings.xml
index f14644bd5e08cdf82f9e16ad609d63195b91e187..2a3b21c7ab45b2271b0f97f6791b666078a67d89 100644
--- a/briar-android/res/values/strings.xml
+++ b/briar-android/res/values/strings.xml
@@ -16,6 +16,8 @@
     <string name="create_account_button">Create Account</string>
     <string name="enter_password">Enter your password:</string>
     <string name="password_hint">Password</string>
+    <string name="yes">Yes</string>
+    <string name="no">No</string>
     <string name="forgotten_password">I have forgotten my password</string>
     <string name="try_again">Wrong password, try again:</string>
     <string name="sign_in_button">Sign In</string>
@@ -108,4 +110,8 @@
     <string name="notify_sound_setting_default">Default ringtone</string>
     <string name="notify_sound_setting_disabled">None</string>
     <string name="choose_ringtone_title">Choose ringtone</string>
+
+    <!-- Dialogs -->
+    <string name="dialog_title_lost_password">Lost password</string>
+    <string name="dialog_message_lost_password">Password recovery is not possible. Do you wish to delete your user and re-register ?</string>
 </resources>
\ No newline at end of file
diff --git a/briar-android/src/org/briarproject/android/BaseActivity.java b/briar-android/src/org/briarproject/android/BaseActivity.java
index 61efc68bd7eac2d43f6d83b9133154e8fce45c6f..db3628f06e86f23c3333b97b5e209fcaa5235ae1 100644
--- a/briar-android/src/org/briarproject/android/BaseActivity.java
+++ b/briar-android/src/org/briarproject/android/BaseActivity.java
@@ -48,6 +48,11 @@ public abstract class BaseActivity extends RoboActivity {
         this.finish();
     }
 
+    protected void gotoAndFinish(Class classInstance)
+    {
+        this.gotoAndFinish(classInstance, Integer.MIN_VALUE);
+    }
+
     protected void hideSoftKeyboard()
     {
         Object o = getSystemService(INPUT_METHOD_SERVICE);
diff --git a/briar-android/src/org/briarproject/android/PasswordActivity.java b/briar-android/src/org/briarproject/android/PasswordActivity.java
index 736991d901a61e7f8a74ee1008b56e0671a457a8..86c3bc02eb77eb243f6b5852a13f3b141317a7ef 100644
--- a/briar-android/src/org/briarproject/android/PasswordActivity.java
+++ b/briar-android/src/org/briarproject/android/PasswordActivity.java
@@ -9,12 +9,15 @@ import java.util.concurrent.Executor;
 import javax.inject.Inject;
 
 import org.briarproject.R;
+import org.briarproject.android.util.BriarIOUtils;
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.CryptoExecutor;
 import org.briarproject.api.crypto.SecretKey;
 import org.briarproject.api.db.DatabaseConfig;
 import org.briarproject.util.StringUtils;
 
+import android.app.AlertDialog;
+import android.content.DialogInterface;
 import android.os.Bundle;
 import android.text.Editable;
 import android.view.KeyEvent;
@@ -70,7 +73,7 @@ public class PasswordActivity extends BaseActivity {
 	@Override
 	protected void clearDbPrefs() {
 		super.clearDbPrefs();
-		this.delete(databaseConfig.getDatabaseDirectory());
+		BriarIOUtils.deleteFileOrDir(databaseConfig.getDatabaseDirectory());
 		this.gotoAndFinish(SetupActivity.class, RESULT_CANCELED);
 	}
 
@@ -79,12 +82,19 @@ public class PasswordActivity extends BaseActivity {
 	}
 
 	public void onForgottenPasswordClick(View v) {
-		this.clearDbPrefs();
-	}
-
-	private void delete(File f) {
-		if (f.isFile()) f.delete();
-		else if (f.isDirectory()) for (File child : f.listFiles()) delete(child);
+		// TODO Encapsulate the dialog in a re-usable fragment
+		AlertDialog.Builder builder = new AlertDialog.Builder(this);
+		builder.setTitle(R.string.dialog_title_lost_password);
+		builder.setMessage(R.string.dialog_message_lost_password);
+		builder.setNegativeButton(R.string.no, null);
+		builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
+			@Override
+			public void onClick(DialogInterface dialog, int which) {
+				PasswordActivity.this.clearDbPrefs();
+			}
+		});
+		AlertDialog dialog = builder.create();
+		dialog.show();
 	}
 
 	private void validatePassword(final byte[] encrypted, Editable e) {
diff --git a/briar-android/src/org/briarproject/android/util/BriarIOUtils.java b/briar-android/src/org/briarproject/android/util/BriarIOUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..f4a9ff38f45b26b039b05f36611dda0307d8f45c
--- /dev/null
+++ b/briar-android/src/org/briarproject/android/util/BriarIOUtils.java
@@ -0,0 +1,18 @@
+package org.briarproject.android.util;
+
+import java.io.File;
+
+/**
+ * Created by Ernir Erlingsson (ernir@ymirmobile.com) on 9.12.2015.
+ */
+public class BriarIOUtils {
+
+    public static void deleteFileOrDir(File f)
+    {
+        if (f.isFile())
+            f.delete();
+        else if (f.isDirectory())
+            for (File child : f.listFiles())
+                deleteFileOrDir(child);
+    }
+}