diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferSyncer.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferSyncer.kt
index c819cb2ca6088797cf8279db855d575eab54930b..ec8eadcc96ade1723c8a4d477cfe3d21a06730ab 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferSyncer.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferSyncer.kt
@@ -222,6 +222,11 @@ class BufferSyncer constructor(
   override fun setBufferActivity(buffer: BufferId, activity: Int) {
     val flags = Message_Types.of<Message_Type>(activity)
     super.setBufferActivity(buffer, activity)
+    if (activity != 0) {
+      bufferInfo(buffer)?.let {
+        session.bufferViewManager?.handleBuffer(it, this, true)
+      }
+    }
     _bufferActivities[buffer] = flags
     live_bufferActivities.onNext(Unit)
   }
diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt
index c15b4273c502a03491872dab9c42198b7b3ecd26..7b66da97df57fe4a74223c33af9474e7ff1b0463 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt
@@ -337,13 +337,16 @@ class BufferViewConfig constructor(
     }
   }
 
-  fun handleBuffer(info: BufferInfo, bufferSyncer: BufferSyncer) {
+  fun handleBuffer(info: BufferInfo, bufferSyncer: BufferSyncer, unhide: Boolean = false) {
     if (_addNewBuffersAutomatically &&
         !_buffers.contains(info.bufferId) &&
         !_temporarilyRemovedBuffers.contains(info.bufferId) &&
         !_removedBuffers.contains(info.bufferId) &&
         !info.type.hasFlag(Buffer_Type.StatusBuffer)) {
       insertBufferSorted(info, bufferSyncer)
+    } else if (unhide && !_buffers.contains(info.bufferId) &&
+               _temporarilyRemovedBuffers.contains(info.bufferId)) {
+      insertBufferSorted(info, bufferSyncer)
     }
   }
 
diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewManager.kt
index 1b9097aaa126c668ee506f056cf5ad30755700ce..12e475f26a08e44972f0fc9a215d974ec552fe41 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewManager.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewManager.kt
@@ -82,9 +82,9 @@ class BufferViewManager constructor(
   private val live_bufferViewConfigs: BehaviorSubject<Set<Int>> = BehaviorSubject.createDefault<Set<Int>>(
     emptySet())
 
-  fun handleBuffer(info: BufferInfo, bufferSyncer: BufferSyncer) {
+  fun handleBuffer(info: BufferInfo, bufferSyncer: BufferSyncer, unhide: Boolean = false) {
     for (bufferViewConfig in bufferViewConfigs()) {
-      bufferViewConfig.handleBuffer(info, bufferSyncer)
+      bufferViewConfig.handleBuffer(info, bufferSyncer, unhide)
     }
   }
 }