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 a6ab816a4cc465f52bf2d7ea518169ee96a90b69..a23db1f5fbaa235680bf53f8ab41f85422910391 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
@@ -264,7 +264,15 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
       getColor(0, 0)
     }
 
-    combineLatest(viewModel.bufferListThrottled,
+    var hasRestoredChatListState = false
+    listAdapter.setOnUpdateFinishedListener {
+      if (!hasRestoredChatListState) {
+        savedInstanceState?.getParcelable<Parcelable>(KEY_STATE_LIST)
+          ?.let(chatList.layoutManager::onRestoreInstanceState)
+        hasRestoredChatListState = true
+      }
+    }
+    combineLatest(viewModel.bufferList,
                   viewModel.expandedNetworks,
                   viewModel.selectedBuffer).toLiveData().switchMapNotNull { a ->
       database.filtered().listen(accountId).zip(accountDatabase.accounts().listen(accountId)).map { (b, c) ->
@@ -344,15 +352,6 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
       })
     listAdapter.setOnClickListener(this@BufferViewConfigFragment::clickListener)
     listAdapter.setOnLongClickListener(this@BufferViewConfigFragment::longClickListener)
-
-    var hasRestoredChatListState = false
-    listAdapter.setOnUpdateFinishedListener {
-      if (!hasRestoredChatListState) {
-        savedInstanceState?.getParcelable<Parcelable>(KEY_STATE_LIST)
-          ?.let(chatList.layoutManager::onRestoreInstanceState)
-        hasRestoredChatListState = true
-      }
-    }
     chatList.adapter = listAdapter
 
     viewModel.selectedBuffer.toLiveData().observe(this, Observer { buffer ->
@@ -445,10 +444,6 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
     chatList.itemAnimator = DefaultItemAnimator()
     chatList.setItemViewCacheSize(10)
 
-    savedInstanceState?.run {
-      chatList.layoutManager.onRestoreInstanceState(getParcelable(KEY_STATE_LIST))
-    }
-
     viewModel.stateReset.toLiveData().observe(this, Observer {
       listAdapter.submitList(emptyList())
       hasSetBufferViewConfigId = false
diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt
index d147b446684742e0b4716f372819ae546d7b8020..a04c36e95ded15a6eff9b0f82316170a4001d45b 100644
--- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt
+++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt
@@ -520,8 +520,6 @@ class QuasselViewModel : ViewModel() {
           Observable.just(Pair<BufferViewConfig?, List<BufferProps>>(null, emptyList()))
         }
       }
-  val bufferListThrottled = bufferList.distinctUntilChanged().throttleLast(100,
-                                                                           TimeUnit.MILLISECONDS)
 
   companion object {
     const val MAX_RECENT_MESSAGES = 20