diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java
index 699985ee6d418d72034a14f7090534066e1f0db3..1953756c626b08f4e7b8b1b15334cbaaf2b1caff 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java
@@ -6,6 +6,7 @@ import android.support.v7.app.AppCompatActivity;
 import android.view.View;
 import android.view.inputmethod.InputMethodManager;
 
+import org.briarproject.bramble.api.db.DbException;
 import org.briarproject.briar.android.AndroidComponent;
 import org.briarproject.briar.android.BriarApplication;
 import org.briarproject.briar.android.DestroyableContext;
@@ -116,4 +117,9 @@ public abstract class BaseActivity extends AppCompatActivity
 		Object o = getSystemService(INPUT_METHOD_SERVICE);
 		((InputMethodManager) o).hideSoftInputFromWindow(token, 0);
 	}
+
+	public void handleDbException(DbException e) {
+		supportFinishAfterTransition();
+	}
+
 }
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java
index 2dcbd3766c25807309f83552d78d8434054401a9..d3e8626d2d25ad250c06ea93576e2a6b30a9dec9 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java
@@ -205,8 +205,7 @@ public class BlogFragment extends BaseFragment
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO: Decide how to handle errors in the UI
-						finish();
+						handleDbException(exception);
 					}
 				}
 		);
@@ -234,8 +233,7 @@ public class BlogFragment extends BaseFragment
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO: Decide how to handle errors in the UI
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -254,8 +252,7 @@ public class BlogFragment extends BaseFragment
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO: Decide how to handle errors in the UI
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -277,8 +274,7 @@ public class BlogFragment extends BaseFragment
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO: Decide how to handle errors in the UI
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -373,8 +369,7 @@ public class BlogFragment extends BaseFragment
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO: Decide how to handle errors in the UI
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostFragment.java
index 2655c7ff33aca6c0aae2778fd72527daf1c45124..5c631f177217668530608511194e7dca52c31155 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostFragment.java
@@ -55,8 +55,7 @@ public class BlogPostFragment extends BasePostFragment {
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO: Decide how to handle errors in the UI
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java
index 279e58668510b129f55b5d6b5638c8dcebead46c..7d2c89bd0d1f7fdfe822c627ab6d175bfa32d101 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java
@@ -129,7 +129,7 @@ public class FeedFragment extends BaseFragment implements
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO: Decide how to handle errors in the UI
+						handleDbException(exception);
 					}
 				});
 	}
@@ -153,8 +153,8 @@ public class FeedFragment extends BaseFragment implements
 					}
 
 					@Override
-					public void onExceptionUi(DbException e) {
-						// TODO: Decide how to handle errors in the UI
+					public void onExceptionUi(DbException exception) {
+						handleDbException(exception);
 					}
 				});
 		list.startPeriodicUpdate();
@@ -211,7 +211,7 @@ public class FeedFragment extends BaseFragment implements
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO: Decide how to handle errors in the UI
+						handleDbException(exception);
 					}
 				}
 		);
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedPostFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedPostFragment.java
index 233c5b99cad23c73d7fd6968f430b178ae79fd9f..54d4c52210175be58fd17c441ee37d88a3fa6ade 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedPostFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedPostFragment.java
@@ -79,7 +79,7 @@ public class FeedPostFragment extends BasePostFragment {
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO: Decide how to handle errors in the UI
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java
index 43064752fc67e16b931148517e4b7963636c3834..eda320d2f6d7be0e05dd72173245ec64d6d34b2b 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java
@@ -99,8 +99,7 @@ public class ReblogFragment extends BaseFragment implements TextInputListener {
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -130,8 +129,7 @@ public class ReblogFragment extends BaseFragment implements TextInputListener {
 				new UiExceptionHandler<DbException>(this) {
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						// do nothing, this fragment is gone already
+						handleDbException(exception);
 					}
 				});
 		finish();
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contactselection/BaseContactSelectorFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contactselection/BaseContactSelectorFragment.java
index ec318ebe36c16d005d9332e302db9ab05281b0ad..c7c10849d7de9ff3c12b7f0ccf65e0dbf891d8b9 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/contactselection/BaseContactSelectorFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/contactselection/BaseContactSelectorFragment.java
@@ -130,8 +130,7 @@ public abstract class BaseContactSelectorFragment<I extends SelectableContactIte
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java
index 5729e4c8b787c66b9685ba01eac73f477ba0a512..a5152fb9cceddb1996fff52d2108b43d93c80b4a 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java
@@ -192,8 +192,7 @@ public class ForumActivity extends
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/fragment/BaseFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/fragment/BaseFragment.java
index 46c7c01a91e81c5023d0ea96566426119ec7982d..7273a7f54f1c6eddf19946cd01a7c3cb69c07024 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/fragment/BaseFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/fragment/BaseFragment.java
@@ -8,6 +8,7 @@ import android.support.annotation.UiThread;
 import android.support.v4.app.Fragment;
 import android.view.MenuItem;
 
+import org.briarproject.bramble.api.db.DbException;
 import org.briarproject.briar.android.DestroyableContext;
 import org.briarproject.briar.android.activity.ActivityComponent;
 
@@ -71,6 +72,9 @@ public abstract class BaseFragment extends Fragment
 
 		@UiThread
 		void showNextFragment(BaseFragment f);
+
+		@UiThread
+		void handleDbException(DbException e);
 	}
 
 	@CallSuper
@@ -95,4 +99,9 @@ public abstract class BaseFragment extends Fragment
 		listener.showNextFragment(f);
 	}
 
+	@UiThread
+	protected void handleDbException(DbException e) {
+		listener.handleDbException(e);
+	}
+
 }
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java
index 1a5398630e5c737f2f90cd2f22dfafde53f3c088..f0ff34aedc309f4d0d4345f883aeb045c0140105 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java
@@ -19,6 +19,7 @@ import android.widget.GridView;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import org.briarproject.bramble.api.db.DbException;
 import org.briarproject.bramble.api.plugin.BluetoothConstants;
 import org.briarproject.bramble.api.plugin.LanTcpConstants;
 import org.briarproject.bramble.api.plugin.TorConstants;
@@ -246,6 +247,11 @@ public class NavDrawerActivity extends BriarActivity implements
 				POP_BACK_STACK_INCLUSIVE);
 	}
 
+	@Override
+	public void handleDbException(DbException e) {
+		// Do nothing for now
+	}
+
 	private void initializeTransports(final LayoutInflater inflater) {
 		transports = new ArrayList<>(3);
 
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java
index 1f6dab890927789d2bef1e9f1605fde3e9af7e08..2542db31f7caecaf8bb938facbaf6950d40b35c5 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java
@@ -117,8 +117,7 @@ public class GroupActivity extends
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -137,8 +136,7 @@ public class GroupActivity extends
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -276,8 +274,7 @@ public class GroupActivity extends
 					// GroupRemovedEvent being fired
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/BaseGroupInviteActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/BaseGroupInviteActivity.java
index 30d64e95a17aa983973a8fe5924959d20072a45a..315aed855bb74453e3b82f86488287aecc8d47ca 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/BaseGroupInviteActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/BaseGroupInviteActivity.java
@@ -43,9 +43,8 @@ public abstract class BaseGroupInviteActivity
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
 						setResult(RESULT_CANCELED);
-						finish();
+						handleDbException(exception);
 					}
 				});
 		return true;
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupActivity.java
index 0f13bab833458307852c1b9a802c99e80cff1e68..5e7a64f56432a42a93ac4d611f0f16e558e472a6 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupActivity.java
@@ -58,8 +58,7 @@ public class CreateGroupActivity extends BaseGroupInviteActivity implements
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java
index bea0ff2359ae2c8bab05374836c41be08f17d597..9fbed643c539cc9271ee8c7e0927054243704538 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java
@@ -132,7 +132,7 @@ public class GroupListFragment extends BaseFragment implements
 					// result handled by GroupRemovedEvent and onGroupRemoved()
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO handle error
+						handleDbException(exception);
 					}
 				});
 	}
@@ -202,7 +202,7 @@ public class GroupListFragment extends BaseFragment implements
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO handle this error
+						handleDbException(exception);
 					}
 				});
 	}
@@ -224,8 +224,7 @@ public class GroupListFragment extends BaseFragment implements
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO handle this error
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListActivity.java
index 182a336d00bb72d1c382327b9e7fd1abb33de8c4..feadb3d5162af879b23e0cb347e79de743dd592d 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListActivity.java
@@ -67,8 +67,7 @@ public class GroupMemberListActivity extends BriarActivity {
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 		list.startPeriodicUpdate();
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java
index 450b6e4ff1b1804bffdf46e5e66261ec67e57f44..778802f72616035f0084b0dd118bb998f130b6c8 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java
@@ -80,8 +80,7 @@ public class RevealContactsActivity extends ContactSelectorActivity
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -132,7 +131,7 @@ public class RevealContactsActivity extends ContactSelectorActivity
 				new UiExceptionHandler<DbException>(this) {
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
+						handleDbException(exception);
 					}
 				});
 	}
@@ -149,8 +148,7 @@ public class RevealContactsActivity extends ContactSelectorActivity
 				new UiExceptionHandler<DbException>(this) {
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 		supportFinishAfterTransition();
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java
index 1f755fe366e1b3f5f46cda5a36b9ebee0b432afd..6f57eed9fe3c942f1be1f26fdfe4ba1f5b1cc178 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java
@@ -97,8 +97,7 @@ public abstract class InvitationActivity<I extends InvitationItem>
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -111,8 +110,7 @@ public abstract class InvitationActivity<I extends InvitationItem>
 				new UiExceptionHandler<DbException>(this) {
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogActivity.java
index 1d6581e6b1581f70ceef2365d2dd391e14341463..b9fbcbde54930c0fcf9b7203f3c133d3e52f8faf 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogActivity.java
@@ -56,10 +56,10 @@ public class ShareBlogActivity extends ShareActivity {
 				new UiExceptionHandler<DbException>(this) {
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
 						Toast.makeText(ShareBlogActivity.this,
 								R.string.blogs_sharing_error, LENGTH_SHORT)
 								.show();
+						handleDbException(exception);
 					}
 				});
 
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumActivity.java
index dc16a239fbf75bdee5589c35e975c20d61518ec1..b274991a1a9db503d9614811a7a4866fc002a75a 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumActivity.java
@@ -56,10 +56,10 @@ public class ShareForumActivity extends ShareActivity {
 				new UiExceptionHandler<DbException>(this) {
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO proper error handling
 						Toast.makeText(ShareForumActivity.this,
 								R.string.forum_share_error, LENGTH_SHORT)
 								.show();
+						handleDbException(exception);
 					}
 				});
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java
index b1d937dda529df39fd9a102451e43ad05f78fbe9..0f83203db915cb514794d8f78fbec1c807a7e3bf 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java
@@ -114,8 +114,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO Proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -147,8 +146,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO Proper error handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}
@@ -165,9 +163,8 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI
 					}
 
 					@Override
-					public void onExceptionUi(DbException e) {
-						// TODO Proper error handling
-						finish();
+					public void onExceptionUi(DbException exception) {
+						handleDbException(exception);
 					}
 				});
 	}
@@ -299,8 +296,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO add proper exception handling
-						finish();
+						handleDbException(exception);
 					}
 				};
 		getController().createAndStoreMessage(text, replyItem, handler);
@@ -323,8 +319,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI
 
 					@Override
 					public void onExceptionUi(DbException exception) {
-						// TODO add proper exception handling
-						finish();
+						handleDbException(exception);
 					}
 				});
 	}