diff --git a/briar-android/src/im/delight/android/identicons/IdenticonBase.java b/briar-android/src/im/delight/android/identicons/IdenticonBase.java
index 8a7153ed99fe7654224a3b57b2d9ccfcaf78204b..f5ccc90e4456f458ef07edbb2f4319efb8f16374 100644
--- a/briar-android/src/im/delight/android/identicons/IdenticonBase.java
+++ b/briar-android/src/im/delight/android/identicons/IdenticonBase.java
@@ -51,13 +51,14 @@ public abstract class IdenticonBase {
     protected void setupColors() {
         mColors = new int[mRowCount][mColumnCount];
         int colorVisible = getIconColor();
+        int colorInvisible = getBackgroundColor();
 
         for (int r = 0; r < mRowCount; r++) {
             for (int c = 0; c < mColumnCount; c++) {
                 if (isCellVisible(r, c)) {
                     mColors[r][c] = colorVisible;
                 } else {
-                    mColors[r][c] = Color.TRANSPARENT;
+                    mColors[r][c] = colorInvisible;
                 }
             }
         }
@@ -94,6 +95,15 @@ public abstract class IdenticonBase {
 
     abstract protected int getIconColor();
 
+    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
+    }
+
     public void updateSize(int w, int h) {
         mCellWidth = w / mColumnCount;
         mCellHeight = h / mRowCount;