Index: /trunk/src/VBox/Runtime/common/misc/reqpool.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/misc/reqpool.cpp	(revision 39635)
+++ /trunk/src/VBox/Runtime/common/misc/reqpool.cpp	(revision 39636)
@@ -365,5 +365,5 @@
         if (cReqPrevProcessedStat != pThread->cReqProcessed)
         {
-            pPool->cReqProcessed          = pThread->cReqProcessed         - cReqPrevProcessedStat;
+            pPool->cReqProcessed         += pThread->cReqProcessed         - cReqPrevProcessedStat;
             cReqPrevProcessedStat         = pThread->cReqProcessed;
             pPool->cNsTotalReqProcessing += pThread->cNsTotalReqProcessing - cNsPrevTotalReqProcessing;
Index: /trunk/src/VBox/Runtime/testcase/tstRTReqPool.cpp
===================================================================
--- /trunk/src/VBox/Runtime/testcase/tstRTReqPool.cpp	(revision 39635)
+++ /trunk/src/VBox/Runtime/testcase/tstRTReqPool.cpp	(revision 39636)
@@ -79,6 +79,9 @@
     RTTESTI_CHECK(RTReqPoolGetStat(hPool, RTREQPOOLSTAT_REQUESTS_FREE) == 1);
 
+    RTTESTI_CHECK(RTReqPoolGetStat(hPool, RTREQPOOLSTAT_REQUESTS_PROCESSED) == 0);
     RTTESTI_CHECK_RC(RTReqPoolCallWait(hPool, (PFNRT)RTThreadSleep, 1, (RTMSINTERVAL)0), VINF_SUCCESS);
     RTTESTI_CHECK_RC(RTReqPoolCallWait(hPool, (PFNRT)RTThreadSleep, 1, (RTMSINTERVAL)2), VINF_SUCCESS);
+    RTTESTI_CHECK_RC(RTReqPoolCallWait(hPool, (PFNRT)RTThreadSleep, 1, (RTMSINTERVAL)3), VINF_SUCCESS);
+    RTTESTI_CHECK(RTReqPoolGetStat(hPool, RTREQPOOLSTAT_REQUESTS_PROCESSED) > 1);
     RTTESTI_CHECK(RTReqPoolGetStat(hPool, RTREQPOOLSTAT_THREADS) == 1);
 
