Index: src/libchcore/TOverlappedMemoryPool.cpp
===================================================================
diff -u -N -r6c41e7b3cf7711c6f5027c0c0154013f50f08e7b -r593ca68706f3a3c7c2a3820b02a56fc24d5bea11
--- src/libchcore/TOverlappedMemoryPool.cpp	(.../TOverlappedMemoryPool.cpp)	(revision 6c41e7b3cf7711c6f5027c0c0154013f50f08e7b)
+++ src/libchcore/TOverlappedMemoryPool.cpp	(.../TOverlappedMemoryPool.cpp)	(revision 593ca68706f3a3c7c2a3820b02a56fc24d5bea11)
@@ -54,6 +54,7 @@
 			// buffer sizes increased - clear current buffers and proceed with creating new ones
 			m_listAllBuffers.clear();
 			m_spQueueBuffers->Clear();
+			m_spQueueBuffers->SetExpectedBuffers(0);
 		}
 		else if (stCount == m_listAllBuffers.size())
 			return;		// nothing really changed
@@ -72,6 +73,7 @@
 				m_spQueueBuffers->Push(upElement.get());
 			}
 
+			m_spQueueBuffers->SetExpectedBuffers(m_listAllBuffers.size());
 			return;
 		}
 
@@ -82,6 +84,8 @@
 			m_spQueueBuffers->Push(upBuffer.get());
 			m_listAllBuffers.push_back(std::move(upBuffer));
 		}
+
+		m_spQueueBuffers->SetExpectedBuffers(m_listAllBuffers.size());
 	}
 
 	size_t TOverlappedMemoryPool::GetTotalBufferCount() const