diff --git a/briar-android/src/org/briarproject/android/BriarActivity.java b/briar-android/src/org/briarproject/android/BriarActivity.java
index 8d88cc5db1748b7a6f85254362eff717096c18e4..dc0249ff57c480880836e8dbc4e838b157ff9a55 100644
--- a/briar-android/src/org/briarproject/android/BriarActivity.java
+++ b/briar-android/src/org/briarproject/android/BriarActivity.java
@@ -14,11 +14,13 @@ import org.briarproject.api.db.DatabaseExecutor;
 import org.briarproject.api.lifecycle.LifecycleManager;
 
 import java.util.concurrent.Executor;
-import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import javax.inject.Inject;
 
+import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
+import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
+import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
 import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION;
 import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
 
@@ -101,12 +103,8 @@ public abstract class BriarActivity extends BaseActivity {
 					LOG.warning("Interrupted while waiting for service");
 					Thread.currentThread().interrupt();
 				}
-
-				if(removeFromRecentApps){
-					ExitActivity.exitAndRemoveFromRecentApps(BriarActivity.this);
-				} else {
-					finishAndExit();
-				}
+				if (removeFromRecentApps) startExitActivity();
+				else finishAndExit();
 			}
 		}.start();
 	}
@@ -115,14 +113,27 @@ public abstract class BriarActivity extends BaseActivity {
 		signOut(false);
 	}
 
+	private void startExitActivity() {
+		runOnUiThread(new Runnable() {
+			@Override
+			public void run() {
+				Intent intent = new Intent(BriarActivity.this,
+						ExitActivity.class);
+				intent.addFlags(FLAG_ACTIVITY_NEW_TASK
+						| FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
+						| FLAG_ACTIVITY_NO_ANIMATION);
+				if (Build.VERSION.SDK_INT >= 11)
+					intent.addFlags(FLAG_ACTIVITY_CLEAR_TASK);
+				startActivity(intent);
+			}
+		});
+	}
+
 	private void finishAndExit() {
 		runOnUiThread(new Runnable() {
 			public void run() {
-				if (Build.VERSION.SDK_INT >= 21) {
-					finishAndRemoveTask();
-				} else {
-					finish();
-				}
+				if (Build.VERSION.SDK_INT >= 21) finishAndRemoveTask();
+				else finish();
 				LOG.info("Exiting");
 				System.exit(0);
 			}
diff --git a/briar-android/src/org/briarproject/android/panic/ExitActivity.java b/briar-android/src/org/briarproject/android/panic/ExitActivity.java
index 68bef09ec217624ed748dcb3a5e36bc60cff00e3..9cfb775d2463e1cbd67e129f60dd691489c61ccc 100644
--- a/briar-android/src/org/briarproject/android/panic/ExitActivity.java
+++ b/briar-android/src/org/briarproject/android/panic/ExitActivity.java
@@ -1,40 +1,23 @@
 package org.briarproject.android.panic;
 
-import android.content.Intent;
 import android.os.Build;
 import android.os.Bundle;
 
 import org.briarproject.android.BaseActivity;
 
-public class ExitActivity extends BaseActivity {
+import java.util.logging.Logger;
 
-	@Override
-	public void onCreate(Bundle savedInstanceState) {
-		super.onCreate(savedInstanceState);
+public class ExitActivity extends BaseActivity {
 
-		if (Build.VERSION.SDK_INT >= 21) {
-			finishAndRemoveTask();
-		} else {
-			finish();
-		}
+	private static final Logger LOG =
+			Logger.getLogger(ExitActivity.class.getName());
 
+	@Override
+	public void onCreate(Bundle state) {
+		super.onCreate(state);
+		if (Build.VERSION.SDK_INT >= 21) finishAndRemoveTask();
+		else finish();
+		LOG.info("Exiting");
 		System.exit(0);
 	}
-
-	public static void exitAndRemoveFromRecentApps(final BaseActivity activity) {
-		activity.runOnUiThread(new Runnable() {
-			@Override
-			public void run() {
-				Intent intent = new Intent(activity, ExitActivity.class);
-
-				intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
-						| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
-						| Intent.FLAG_ACTIVITY_CLEAR_TASK
-						| Intent.FLAG_ACTIVITY_NO_ANIMATION);
-
-				activity.startActivity(intent);
-			}
-		});
-
-	}
 }
\ No newline at end of file