diff --git a/typo3/sysext/extbase/Classes/Persistence/Generic/QueryResult.php b/typo3/sysext/extbase/Classes/Persistence/Generic/QueryResult.php
index ab933ad46fbd6269e063c2cbce9031dc90abc89f..4d84610a4663f744c466a21a2fc9dfa9c823d501 100644
--- a/typo3/sysext/extbase/Classes/Persistence/Generic/QueryResult.php
+++ b/typo3/sysext/extbase/Classes/Persistence/Generic/QueryResult.php
@@ -193,6 +193,7 @@ class QueryResult implements QueryResultInterface
     public function offsetSet($offset, $value)
     {
         $this->initialize();
+        $this->numberOfResults = null;
         $this->queryResult[$offset] = $value;
     }
 
@@ -205,6 +206,7 @@ class QueryResult implements QueryResultInterface
     public function offsetUnset($offset)
     {
         $this->initialize();
+        $this->numberOfResults = null;
         unset($this->queryResult[$offset]);
     }
 
diff --git a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/QueryResultTest.php b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/QueryResultTest.php
index 1432b9614e8ccf94e20dd562435337eb280bf14f..01319cad3c6201f854f489522cc2d9d9a742dcba 100644
--- a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/QueryResultTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/QueryResultTest.php
@@ -159,6 +159,24 @@ class QueryResultTest extends UnitTestCase
         self::assertEquals(2, $this->queryResult->count());
     }
 
+    /**
+     * @test
+     */
+    public function countCallsGetObjectCountByQueryIfOffsetChanges()
+    {
+        $this->mockPersistenceManager->expects(self::once())->method('getObjectCountByQuery')->willReturn(2);
+        $firstCount = $this->queryResult->count();
+        $this->queryResult->offsetSet(3, new \stdClass());
+        $this->queryResult->offsetSet(4, new \stdClass());
+        $secondCount = $this->queryResult->count();
+        $this->queryResult->offsetUnset(1);
+        $thirdCount = $this->queryResult->count();
+
+        self::assertSame(2, $firstCount);
+        self::assertSame(4, $secondCount);
+        self::assertSame(3, $thirdCount);
+    }
+
     /**
      * @test
      */