diff --git a/briar-android/src/org/briarproject/android/BriarActivity.java b/briar-android/src/org/briarproject/android/BriarActivity.java
index 5fe552517842a2d228ef0311bd642e2c72180900..3b6ad77e94298867cecdb3d20ebd301507a2f3f5 100644
--- a/briar-android/src/org/briarproject/android/BriarActivity.java
+++ b/briar-android/src/org/briarproject/android/BriarActivity.java
@@ -95,4 +95,12 @@ public class BriarActivity extends RoboFragmentActivity {
 			}
 		}.start();
 	}
+
+	protected void finishOnUiThread() {
+		runOnUiThread(new Runnable() {
+			public void run() {
+				finish();
+			}
+		});
+	}
 }
diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java
index f466ff48ae9b2afb8c280d0f5c6d2f6dbdfb799b..4fb17c5998ffb4b59d8c0bd7ac576a56646916d2 100644
--- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java
+++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java
@@ -220,14 +220,6 @@ implements EventListener, OnClickListener, OnItemClickListener {
 		});
 	}
 
-	private void finishOnUiThread() {
-		runOnUiThread(new Runnable() {
-			public void run() {
-				finish();
-			}
-		});
-	}
-
 	@Override
 	protected void onActivityResult(int request, int result, Intent data) {
 		super.onActivityResult(request, result, data);
diff --git a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java
index 717c682d63e76b3b0fcee5320f79281dd36ec220..7b223a7f2717726ab11175667cc9cfd990f037d7 100644
--- a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java
+++ b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java
@@ -235,11 +235,7 @@ implements OnClickListener {
 					});
 				} catch(NoSuchMessageException e) {
 					if(LOG.isLoggable(INFO)) LOG.info("Message removed");
-					runOnUiThread(new Runnable() {
-						public void run() {
-							finish();
-						}
-					});
+					finishOnUiThread();
 				} catch(DbException e) {
 					if(LOG.isLoggable(WARNING))
 						LOG.log(WARNING, e.toString(), e);
diff --git a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java
index 4f44edd91899dc9ca1948363d943b658aeb89337..48e9451b747a3b03713aa68d94b20d788cbd5917 100644
--- a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java
+++ b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java
@@ -166,9 +166,9 @@ implements OnClickListener {
 						LOG.info("Load took " + duration + " ms");
 					displayLocalAuthor();
 				} catch(NoSuchContactException e) {
-					finish();
+					finishOnUiThread();
 				} catch(NoSuchSubscriptionException e) {
-					finish();
+					finishOnUiThread();
 				} catch(DbException e) {
 					if(LOG.isLoggable(WARNING))
 						LOG.log(WARNING, e.toString(), e);
diff --git a/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java b/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java
index 205d37c83f4a41de4056a2a53c271b6d1fa00bcb..e51211239748b36eab188eb933add104bacc1c61 100644
--- a/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java
@@ -225,11 +225,7 @@ SelectContactsDialog.Listener {
 						LOG.info("Interrupted while waiting for database");
 					Thread.currentThread().interrupt();
 				}
-				runOnUiThread(new Runnable() {
-					public void run() {
-						finish();
-					}
-				});
+				finishOnUiThread();
 			}
 		});
 	}
diff --git a/briar-android/src/org/briarproject/android/groups/CreateGroupActivity.java b/briar-android/src/org/briarproject/android/groups/CreateGroupActivity.java
index 132663dc78e1cd867b385eb19ed2422c9199e8fd..78dfd0e7d64cd5e6d04b2be3fe488116396abea7 100644
--- a/briar-android/src/org/briarproject/android/groups/CreateGroupActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/CreateGroupActivity.java
@@ -195,11 +195,7 @@ SelectContactsDialog.Listener {
 							LOG.info("Interrupted while waiting for database");
 						Thread.currentThread().interrupt();
 					}
-					runOnUiThread(new Runnable() {
-						public void run() {
-							finish();
-						}
-					});
+					finishOnUiThread();
 				}
 			});
 		}
diff --git a/briar-android/src/org/briarproject/android/groups/GroupActivity.java b/briar-android/src/org/briarproject/android/groups/GroupActivity.java
index 36a78cf97c512cfbcb7506ce586f8a7962fa2f6d..65d640a8b5df0fcc6ec6db5fd9496fa7f930170e 100644
--- a/briar-android/src/org/briarproject/android/groups/GroupActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/GroupActivity.java
@@ -226,14 +226,6 @@ OnClickListener, OnItemClickListener {
 		});
 	}
 
-	private void finishOnUiThread() {
-		runOnUiThread(new Runnable() {
-			public void run() {
-				finish();
-			}
-		});
-	}
-
 	@Override
 	protected void onActivityResult(int request, int result, Intent data) {
 		super.onActivityResult(request, result, data);
diff --git a/briar-android/src/org/briarproject/android/groups/GroupAdapter.java b/briar-android/src/org/briarproject/android/groups/GroupAdapter.java
index 72de5bee563bbcb3c125bbb266ee87dfbd830c85..bbe7d677ca81eeeaf166c8ae1232c7875dacec7f 100644
--- a/briar-android/src/org/briarproject/android/groups/GroupAdapter.java
+++ b/briar-android/src/org/briarproject/android/groups/GroupAdapter.java
@@ -58,7 +58,6 @@ class GroupAdapter extends ArrayAdapter<GroupItem> {
 		else authorView.init(author.getName(), header.getAuthorStatus());
 		headerLayout.addView(authorView);
 
-		// FIXME: Factor this out into a TimestampView
 		TextView date = new TextView(ctx);
 		date.setTextSize(14);
 		date.setPadding(0, pad, pad, pad);
diff --git a/briar-android/src/org/briarproject/android/groups/ReadGroupPostActivity.java b/briar-android/src/org/briarproject/android/groups/ReadGroupPostActivity.java
index 41480c2bc43326e22a8c6c8d11a0aea3691c739c..6118588c9d4b4efdfc8a16c21d29f67df97ef716 100644
--- a/briar-android/src/org/briarproject/android/groups/ReadGroupPostActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/ReadGroupPostActivity.java
@@ -231,11 +231,7 @@ implements OnClickListener {
 					});
 				} catch(NoSuchMessageException e) {
 					if(LOG.isLoggable(INFO)) LOG.info("Message removed");
-					runOnUiThread(new Runnable() {
-						public void run() {
-							finish();
-						}
-					});
+					finishOnUiThread();
 				} catch(DbException e) {
 					if(LOG.isLoggable(WARNING))
 						LOG.log(WARNING, e.toString(), e);