diff --git a/briar-android/src/org/briarproject/android/util/BriarRecyclerView.java b/briar-android/src/org/briarproject/android/util/BriarRecyclerView.java
index 5e786322908abf39d4c479ae0fcb5bf8369ae9d7..2c61d475d0316e11bb8791ea5cb59b3c8d7e524d 100644
--- a/briar-android/src/org/briarproject/android/util/BriarRecyclerView.java
+++ b/briar-android/src/org/briarproject/android/util/BriarRecyclerView.java
@@ -21,27 +21,18 @@ public class BriarRecyclerView extends FrameLayout {
 
 	public BriarRecyclerView(Context context) {
 		super(context);
-
-		initViews();
 	}
 
 	public BriarRecyclerView(Context context, AttributeSet attrs) {
 		super(context, attrs);
-
-		initViews();
 	}
 
 	public BriarRecyclerView(Context context, AttributeSet attrs,
 			int defStyle) {
 		super(context, attrs, defStyle);
-
-		initViews();
 	}
 
 	private void initViews() {
-		if (isInEditMode()) {
-			return;
-		}
 
 		View v = LayoutInflater.from(getContext()).inflate(
 				R.layout.briar_recycler_view, this, true);
@@ -54,22 +45,24 @@ public class BriarRecyclerView extends FrameLayout {
 
 		// scroll down when opening keyboard
 		if (Build.VERSION.SDK_INT >= 11) {
-			recyclerView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
-				@Override
-				public void onLayoutChange(View v,
-						int left, int top, int right, int bottom,
-						int oldLeft, int oldTop, int oldRight, int oldBottom) {
-					if (bottom < oldBottom) {
-						recyclerView.postDelayed(new Runnable() {
-							@Override
-							public void run() {
-								scrollToPosition(
-										recyclerView.getAdapter().getItemCount() - 1);
+			recyclerView.addOnLayoutChangeListener(
+					new View.OnLayoutChangeListener() {
+						@Override
+						public void onLayoutChange(View v, int left, int top,
+								int right, int bottom, int oldLeft, int oldTop,
+								int oldRight, int oldBottom) {
+							if (bottom < oldBottom) {
+								recyclerView.postDelayed(new Runnable() {
+									@Override
+									public void run() {
+										scrollToPosition(
+												recyclerView.getAdapter()
+														.getItemCount() - 1);
+									}
+								}, 100);
 							}
-						}, 100);
-					}
-				}
-			});
+						}
+					});
 		}
 
 		emptyObserver = new RecyclerView.AdapterDataObserver() {
@@ -82,10 +75,13 @@ public class BriarRecyclerView extends FrameLayout {
 	}
 
 	public void setLayoutManager(RecyclerView.LayoutManager layout) {
+		if (recyclerView == null) initViews();
 		recyclerView.setLayoutManager(layout);
 	}
 
 	public void setAdapter(RecyclerView.Adapter adapter) {
+		if (recyclerView == null) initViews();
+
 		RecyclerView.Adapter oldAdapter = recyclerView.getAdapter();
 		if (oldAdapter != null) {
 			oldAdapter.unregisterAdapterDataObserver(emptyObserver);
@@ -105,35 +101,34 @@ public class BriarRecyclerView extends FrameLayout {
 	}
 
 	public void setEmptyText(String text) {
+		if (recyclerView == null) initViews();
 		emptyView.setText(text);
 	}
 
 	public void showProgressBar() {
-		recyclerView.setVisibility(View.INVISIBLE);
-		emptyView.setVisibility(View.INVISIBLE);
-		progressBar.setVisibility(View.VISIBLE);
+		if (recyclerView == null) initViews();
+		recyclerView.setVisibility(INVISIBLE);
+		emptyView.setVisibility(INVISIBLE);
+		progressBar.setVisibility(VISIBLE);
 	}
 
 	public void showData() {
-		RecyclerView.Adapter<?> adapter = recyclerView.getAdapter();
+		if (recyclerView == null) initViews();
+		RecyclerView.Adapter adapter = recyclerView.getAdapter();
 		if (adapter != null) {
 			if (adapter.getItemCount() == 0) {
-				emptyView.setVisibility(View.VISIBLE);
-				recyclerView.setVisibility(View.INVISIBLE);
+				emptyView.setVisibility(VISIBLE);
+				recyclerView.setVisibility(INVISIBLE);
 			} else {
-				emptyView.setVisibility(View.INVISIBLE);
-				recyclerView.setVisibility(View.VISIBLE);
+				emptyView.setVisibility(INVISIBLE);
+				recyclerView.setVisibility(VISIBLE);
 			}
-			progressBar.setVisibility(View.INVISIBLE);
+			progressBar.setVisibility(INVISIBLE);
 		}
 	}
 
 	public void scrollToPosition(int position) {
+		if (recyclerView == null) initViews();
 		recyclerView.scrollToPosition(position);
 	}
-
-	public RecyclerView getRecyclerView() {
-		return recyclerView;
-	}
-
 }