diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java
index 85595c7b9502a5bae84eb3430548cf6b7757ef58..ed2679724e916754f906c72a6cbe3dbd34cdd7d7 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/MainActivity.java
@@ -338,6 +338,7 @@ public class MainActivity extends BoundActivity {
                 @Override
                 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                     chatListAdapter.selectConfig((int) id);
+                    status.bufferViewConfigId = (int) id;
                 }
 
                 @Override
@@ -347,7 +348,7 @@ public class MainActivity extends BoundActivity {
             });
         }
         updateBuffer(context.client().backlogManager().open());
-        // accountHeader.setActiveProfile(status.bufferViewConfigId, true);
+        chatListSpinner.setSelection(chatListAdapter.indexOf(status.bufferViewConfigId));
     }
 
     // FIXME: Fix this ugly hack
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java
index 507f53d345d74b42560534c49e366f22fe1c7b8b..a391374ae96124e4fa8a4308865d4d374d10ae90 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/BufferViewConfigAdapter.java
@@ -234,4 +234,12 @@ public class BufferViewConfigAdapter extends ExpandableRecyclerAdapter<NetworkVi
         else bufferViewHolderMap.remove(id);
         open = id;
     }
+
+    public int indexOf(int bufferViewConfigId) {
+        for (int i = 0; i < context.client().bufferViewManager().bufferViewConfigs().size(); i++) {
+            if (context.client().bufferViewManager().bufferViewConfigs().get(i).bufferViewId() == bufferViewConfigId)
+                return i;
+        }
+        return -1;
+    }
 }
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/theme/AppContext.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/theme/AppContext.java
index 08c921c5ff89cf4e92df9b9e6217950338f244ac..caf05dff0d1337ff9d80b4ef31d1c5048a5a7a8f 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/theme/AppContext.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/theme/AppContext.java
@@ -23,15 +23,13 @@ package de.kuschku.quasseldroid_ng.ui.theme;
 
 import android.support.annotation.NonNull;
 
-import java.util.HashSet;
-import java.util.Set;
-
 import de.kuschku.libquassel.BusProvider;
 import de.kuschku.libquassel.client.Client;
 import de.kuschku.libquassel.syncables.types.interfaces.QBufferViewConfig;
 import de.kuschku.quasseldroid_ng.ui.settings.Settings;
 import de.kuschku.util.irc.format.IrcFormatDeserializer;
 import de.kuschku.util.irc.format.IrcFormatSerializer;
+import de.kuschku.util.observables.lists.ObservableSet;
 
 public class AppContext {
     private ThemeUtil themeUtil;
@@ -40,8 +38,7 @@ public class AppContext {
     private BusProvider provider;
     private IrcFormatDeserializer deserializer;
     private IrcFormatSerializer serializer;
-    private QBufferViewConfig.DisplayType bufferDisplayType;
-    private Set<QBufferViewConfig.DisplayType> bufferDisplayTypes = new HashSet<>();
+    private ObservableSet<QBufferViewConfig.DisplayType> bufferDisplayTypes = new ObservableSet<>();
 
     public ThemeUtil themeUtil() {
         return themeUtil;
@@ -110,7 +107,7 @@ public class AppContext {
         return serializer;
     }
 
-    public Set<QBufferViewConfig.DisplayType> bufferDisplayTypes() {
+    public ObservableSet<QBufferViewConfig.DisplayType> bufferDisplayTypes() {
         return bufferDisplayTypes;
     }
 }