diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt
index f7ef6bd6c67be9060580569525141a3079c79db6..a6ab816a4cc465f52bf2d7ea518169ee96a90b69 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt
@@ -47,10 +47,7 @@ import de.kuschku.quasseldroid.settings.MessageSettings
 import de.kuschku.quasseldroid.ui.coresettings.network.NetworkEditActivity
 import de.kuschku.quasseldroid.util.ColorContext
 import de.kuschku.quasseldroid.util.avatars.AvatarHelper
-import de.kuschku.quasseldroid.util.helper.combineLatest
-import de.kuschku.quasseldroid.util.helper.styledAttributes
-import de.kuschku.quasseldroid.util.helper.toLiveData
-import de.kuschku.quasseldroid.util.helper.zip
+import de.kuschku.quasseldroid.util.helper.*
 import de.kuschku.quasseldroid.util.irc.format.IrcFormatDeserializer
 import de.kuschku.quasseldroid.util.service.ServiceBoundFragment
 import de.kuschku.quasseldroid.viewmodel.data.BufferHiddenState
@@ -269,10 +266,11 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
 
     combineLatest(viewModel.bufferListThrottled,
                   viewModel.expandedNetworks,
-                  viewModel.selectedBuffer)
-      .toLiveData().zip(database.filtered().listen(accountId),
-                        accountDatabase.accounts().listen(accountId))
-      .observe(this, Observer { it ->
+                  viewModel.selectedBuffer).toLiveData().switchMapNotNull { a ->
+      database.filtered().listen(accountId).zip(accountDatabase.accounts().listen(accountId)).map { (b, c) ->
+        Triple(a, b, c)
+      }
+    }.observe(this, Observer { it ->
         it?.let { (data, activityList, account) ->
           runInBackground {
             val (info, expandedNetworks, selected) = data
diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt
index 86f0c7630bda885661de710698a672894ee9342e..fb4d423630fdc77643f9ca4b4c455137129d95fd 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt
@@ -60,6 +60,12 @@ abstract class ServiceBoundFragment : DaggerFragment() {
     super.onCreate(savedInstanceState)
   }
 
+  override fun onStart() {
+    super.onStart()
+    accountId = context?.getSharedPreferences(Keys.Status.NAME, Context.MODE_PRIVATE)
+      ?.getLong(Keys.Status.selectedAccount, -1) ?: -1
+  }
+
   override fun onDestroy() {
     lifecycle.removeObserver(connection)
     super.onDestroy()