diff --git a/briar-android/res/layout/author_view.xml b/briar-android/res/layout/author_view.xml
index 92c863c374784ace09c8c75ef5bb64c18d05e197..13f19f53ec82ad4680d40032dc97fca31f3e89ad 100644
--- a/briar-android/res/layout/author_view.xml
+++ b/briar-android/res/layout/author_view.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout
 	xmlns:android="http://schemas.android.com/apk/res/android"
+	xmlns:app="http://schemas.android.com/apk/res-auto"
 	android:layout_width="match_parent"
 	android:layout_height="match_parent">
 
@@ -10,7 +11,9 @@
 		android:layout_height="@dimen/listitem_picture_size"
 		android:layout_centerVertical="true"
 		android:layout_marginLeft="@dimen/listitem_horizontal_margin"
-		android:layout_marginStart="@dimen/listitem_horizontal_margin"/>
+		android:layout_marginStart="@dimen/listitem_horizontal_margin"
+		app:civ_border_width="@dimen/avatar_border_width"
+		app:civ_border_color="@color/briar_text_primary"/>
 
 	<ImageView
 		android:id="@+id/statusView"
diff --git a/briar-android/res/layout/dropdown_author.xml b/briar-android/res/layout/dropdown_author.xml
index 01a9b3f5330f363b672becbc15ce8b1cd3e90d5c..ff994a18d258cb9bc742f7e1b2fee0c570f570c0 100644
--- a/briar-android/res/layout/dropdown_author.xml
+++ b/briar-android/res/layout/dropdown_author.xml
@@ -2,6 +2,7 @@
 <LinearLayout
 	xmlns:android="http://schemas.android.com/apk/res/android"
 	xmlns:tools="http://schemas.android.com/tools"
+	xmlns:app="http://schemas.android.com/apk/res-auto"
 	android:layout_width="match_parent"
 	android:layout_height="match_parent"
 	android:gravity="center_vertical">
@@ -9,14 +10,16 @@
 	<de.hdodenhof.circleimageview.CircleImageView
 		android:id="@+id/avatarView"
 		android:layout_width="@dimen/dropdown_picture_size"
-		android:layout_height="@dimen/dropdown_picture_size"/>
+		android:layout_height="@dimen/dropdown_picture_size"
+		android:layout_margin="@dimen/margin_small"
+		app:civ_border_width="@dimen/avatar_border_width"
+		app:civ_border_color="@color/briar_text_primary"/>
 
 	<TextView
 		android:id="@+id/nameView"
 		android:layout_width="wrap_content"
 		android:layout_height="wrap_content"
-		android:layout_marginLeft="@dimen/margin_medium"
-		android:layout_marginStart="@dimen/margin_medium"
+		android:layout_margin="@dimen/margin_small"
 		android:ellipsize="end"
 		android:singleLine="true"
 		android:textSize="@dimen/text_size_medium"
diff --git a/briar-android/res/layout/list_item_contact.xml b/briar-android/res/layout/list_item_contact.xml
index 8259e1b3b4011a16bc656ce89fa30de922c0a415..b566dc171388e1eee1ef863011dd40470211cff6 100644
--- a/briar-android/res/layout/list_item_contact.xml
+++ b/briar-android/res/layout/list_item_contact.xml
@@ -2,6 +2,7 @@
 <LinearLayout
 	xmlns:android="http://schemas.android.com/apk/res/android"
 	xmlns:tools="http://schemas.android.com/tools"
+	xmlns:app="http://schemas.android.com/apk/res-auto"
 	android:layout_width="match_parent"
 	android:layout_height="wrap_content"
 	android:orientation="vertical">
@@ -19,7 +20,9 @@
 			android:layout_alignParentStart="true"
 			android:layout_centerVertical="true"
 			android:layout_marginLeft="@dimen/listitem_horizontal_margin"
-			android:layout_marginStart="@dimen/listitem_horizontal_margin"/>
+			android:layout_marginStart="@dimen/listitem_horizontal_margin"
+			app:civ_border_width="@dimen/avatar_border_width"
+			app:civ_border_color="@color/briar_text_primary"/>
 
 		<LinearLayout
 			android:id="@+id/bulbHolder"
diff --git a/briar-android/res/layout/list_item_msg_in.xml b/briar-android/res/layout/list_item_msg_in.xml
index 50ccd007720f43d5f23d90dd96c22f112f90fe3b..fa1f793ab7cea5e936a14e89100be769182ff855 100644
--- a/briar-android/res/layout/list_item_msg_in.xml
+++ b/briar-android/res/layout/list_item_msg_in.xml
@@ -2,6 +2,7 @@
 <LinearLayout
 	xmlns:android="http://schemas.android.com/apk/res/android"
 	xmlns:tools="http://schemas.android.com/tools"
+	xmlns:app="http://schemas.android.com/apk/res-auto"
 	android:layout_width="match_parent"
 	android:layout_height="wrap_content"
 	android:orientation="horizontal"
@@ -16,7 +17,8 @@
 		android:layout_height="@dimen/listitem_picture_size"
 		android:layout_marginLeft="@dimen/listitem_horizontal_margin"
 		android:layout_marginStart="@dimen/listitem_horizontal_margin"
-		/>
+		app:civ_border_width="@dimen/avatar_border_width"
+		app:civ_border_color="@color/briar_text_primary"/>
 
 	<RelativeLayout
 		android:id="@+id/msgLayout"
diff --git a/briar-android/res/values/dimens.xml b/briar-android/res/values/dimens.xml
index 8c11314aba15cb52a0573d074eafbb1b55ab4d63..e38fa64d2f880379d78f637cb12fc42d59001785 100644
--- a/briar-android/res/values/dimens.xml
+++ b/briar-android/res/values/dimens.xml
@@ -21,11 +21,10 @@
 	<dimen name="nav_seperator_height">1dp</dimen>
 
 	<dimen name="listitem_horizontal_margin">16dp</dimen>
-	<dimen name="listitem_picture_size">40dp</dimen>
 	<dimen name="listitem_text_left_margin">72dp</dimen>
-
 	<dimen name="listitem_height_one_line_avatar">56dp</dimen>
-
+	<dimen name="listitem_picture_size">40dp</dimen>
 	<dimen name="dropdown_picture_size">32dp</dimen>
+	<dimen name="avatar_border_width">1dp</dimen>
 
 </resources>
diff --git a/briar-android/src/im/delight/android/identicons/AsymmetricIdenticon.java b/briar-android/src/im/delight/android/identicons/AsymmetricIdenticon.java
index 888b234cc16afe5366aa7be964157ac4c2fb60b6..fa5c1c35a7c4bd9b7415035699089dc348f391e3 100644
--- a/briar-android/src/im/delight/android/identicons/AsymmetricIdenticon.java
+++ b/briar-android/src/im/delight/android/identicons/AsymmetricIdenticon.java
@@ -17,7 +17,6 @@ package im.delight.android.identicons;
  */
 
 import android.content.Context;
-import android.graphics.Color;
 import android.util.AttributeSet;
 
 import org.briarproject.api.crypto.CryptoComponent;
@@ -73,11 +72,6 @@ public class AsymmetricIdenticon extends IdenticonView {
 			protected boolean isCellVisible(int row, int column) {
 				return getByte(3 + row * getColumnCount() + column) >= 0;
 			}
-
-			@Override
-			protected int getIconColor() {
-				return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128);
-			}
 		};
 	}
 
diff --git a/briar-android/src/im/delight/android/identicons/IdenticonBase.java b/briar-android/src/im/delight/android/identicons/IdenticonBase.java
index 59c842c122874030a56eac4981134480e2c33106..71998de61ea891a539a26115afa606ecfae35dcb 100644
--- a/briar-android/src/im/delight/android/identicons/IdenticonBase.java
+++ b/briar-android/src/im/delight/android/identicons/IdenticonBase.java
@@ -93,15 +93,16 @@ public abstract class IdenticonBase {
 
 	abstract protected boolean isCellVisible(int row, int column);
 
-	abstract protected int getIconColor();
+	protected int getIconColor() {
+		int r = getByte(0) * 3 / 4 + 96;
+		int g = getByte(1) * 3 / 4 + 96;
+		int b = getByte(2) * 3 / 4 + 96;
+		return Color.rgb(r, g, b);
+	}
 
 	protected int getBackgroundColor() {
-		float[] hsv = new float[3];
-		Color.colorToHSV(getIconColor(), hsv);
-		if (hsv[2] < 0.5)
-			return Color.parseColor("#ffeeeeee"); // @color/background_material_light
-		else
-			return Color.parseColor("#ff303030"); // @color/background_material_dark
+		// http://www.google.com/design/spec/style/color.html#color-themes
+		return Color.rgb(0xFA, 0xFA, 0xFA);
 	}
 
 	public void updateSize(int w, int h) {
diff --git a/briar-android/src/im/delight/android/identicons/IdenticonDrawable.java b/briar-android/src/im/delight/android/identicons/IdenticonDrawable.java
index 135c1029e0f6d11db3ba6fb48513ee87370b9439..8034a6a1dae305f93f64956dd07fe1c79bb2df3a 100644
--- a/briar-android/src/im/delight/android/identicons/IdenticonDrawable.java
+++ b/briar-android/src/im/delight/android/identicons/IdenticonDrawable.java
@@ -1,7 +1,6 @@
 package im.delight.android.identicons;
 
 import android.graphics.Canvas;
-import android.graphics.Color;
 import android.graphics.ColorFilter;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
@@ -39,11 +38,6 @@ public class IdenticonDrawable extends Drawable {
 			protected boolean isCellVisible(int row, int column) {
 				return getByte(3 + row * CENTER_COLUMN_INDEX + getSymmetricColumnIndex(column)) >= 0;
 			}
-
-			@Override
-			protected int getIconColor() {
-				return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128);
-			}
 		};
 		mDelegate.show(toShow);
 	}
diff --git a/briar-android/src/im/delight/android/identicons/IdenticonView.java b/briar-android/src/im/delight/android/identicons/IdenticonView.java
index 6ae08ce9ab0b892851f4fb0dee1ee872a5956c0a..f5e44bdc40bc01a970995c443bab0cd117d0e24d 100644
--- a/briar-android/src/im/delight/android/identicons/IdenticonView.java
+++ b/briar-android/src/im/delight/android/identicons/IdenticonView.java
@@ -94,10 +94,6 @@ abstract public class IdenticonView extends View {
 		}
 	}
 
-	protected byte getByte(int index) {
-		return getDelegate().getByte(index);
-	}
-
 	abstract protected IdenticonBase getDelegate();
 
 	@Override
diff --git a/briar-android/src/im/delight/android/identicons/SymmetricIdenticon.java b/briar-android/src/im/delight/android/identicons/SymmetricIdenticon.java
index 875cbe9ad12131fc9a0cc8386bbd301d4fe5bc5f..f3902708153709947096b173afeeae80e2aca2c8 100644
--- a/briar-android/src/im/delight/android/identicons/SymmetricIdenticon.java
+++ b/briar-android/src/im/delight/android/identicons/SymmetricIdenticon.java
@@ -17,7 +17,6 @@ package im.delight.android.identicons;
  */
 
 import android.content.Context;
-import android.graphics.Color;
 import android.util.AttributeSet;
 
 import org.briarproject.api.crypto.CryptoComponent;
@@ -70,11 +69,6 @@ public class SymmetricIdenticon extends IdenticonView {
 			protected boolean isCellVisible(int row, int column) {
 				return getByte(3 + row * CENTER_COLUMN_INDEX + getSymmetricColumnIndex(column)) >= 0;
 			}
-
-			@Override
-			protected int getIconColor() {
-				return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128);
-			}
 		};
 	}