diff --git a/briar-android/src/net/sf/briar/android/LocalAuthorSpinnerAdapter.java b/briar-android/src/net/sf/briar/android/LocalAuthorSpinnerAdapter.java
index 7a65c92fc12bf37fcf1325496a0d373967315920..668c5a427614d2d9369d0dc44f5a6b305ebb6c37 100644
--- a/briar-android/src/net/sf/briar/android/LocalAuthorSpinnerAdapter.java
+++ b/briar-android/src/net/sf/briar/android/LocalAuthorSpinnerAdapter.java
@@ -1,76 +1,40 @@
 package net.sf.briar.android;
 
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
 
 import net.sf.briar.R;
-import net.sf.briar.api.Author;
 import net.sf.briar.api.LocalAuthor;
 import android.content.Context;
 import android.content.res.Resources;
-import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.BaseAdapter;
+import android.widget.ArrayAdapter;
 import android.widget.SpinnerAdapter;
 import android.widget.TextView;
 
-public class LocalAuthorSpinnerAdapter extends BaseAdapter
+public class LocalAuthorSpinnerAdapter extends ArrayAdapter<LocalAuthor>
 implements SpinnerAdapter {
 
-	private final Context ctx;
-	private final List<LocalAuthor> list = new ArrayList<LocalAuthor>();
-
 	public LocalAuthorSpinnerAdapter(Context ctx) {
-		this.ctx = ctx;
-	}
-
-	public void add(LocalAuthor a) {
-		list.add(a);
-		notifyDataSetChanged();
-	}
-
-	public void clear() {
-		list.clear();
-		notifyDataSetChanged();
-	}
-
-	public int getCount() {
-		return list.size() + 1;
-	}
-
-	public LocalAuthor getItem(int position) {
-		if(position == list.size()) return null;
-		return list.get(position);
-	}
-
-	public long getItemId(int position) {
-		return android.R.layout.simple_spinner_item;
-	}
-
-	public void sort(Comparator<Author> comparator) {
-		Collections.sort(list, comparator);
+		super(ctx, android.R.layout.simple_spinner_item,
+				new ArrayList<LocalAuthor>());
 	}
 
+	@Override
 	public View getView(int position, View convertView, ViewGroup parent) {
-		Log.i("Briar", "getView: " + position);
-		TextView name = new TextView(ctx);
+		TextView name = new TextView(getContext());
 		name.setTextSize(18);
 		name.setMaxLines(1);
-		Resources res = ctx.getResources();
+		Resources res = getContext().getResources();
 		int pad = res.getInteger(R.integer.spinner_padding);
 		name.setPadding(pad, pad, pad, pad);
-		if(position == list.size()) name.setText(R.string.create_identity_item);
-		else name.setText(list.get(position).getName());
+		name.setText(getItem(position).getName());
 		return name;
 	}
 
 	@Override
 	public View getDropDownView(int position, View convertView,
 			ViewGroup parent) {
-		Log.i("Briar", "getDropDownView: " + position);
 		return getView(position, convertView, parent);
 	}
 }