diff --git a/lib/private/tags.php b/lib/private/tags.php
index 9ff433b6984eb92ab35bf1c91beb06391c448d7d..4d737e47e070885b865b3d52a41925d8d55fc193 100644
--- a/lib/private/tags.php
+++ b/lib/private/tags.php
@@ -211,7 +211,7 @@ class Tags implements \OCP\ITags {
 
 		try {
 			$conn = \OC_DB::getConnection();
-			$chunks = array_chunk($objIds, 1000, false);
+			$chunks = array_chunk($objIds, 900, false);
 			foreach ($chunks as $chunk) {
 				$result = $conn->executeQuery(
 					'SELECT `category`, `categoryid`, `objid` ' .
diff --git a/tests/lib/tags.php b/tests/lib/tags.php
index 71296d2e34681086ddf8fea7640775fa9c348a89..547cd302d5dc58da5ccc7140d8e1561521529332 100644
--- a/tests/lib/tags.php
+++ b/tests/lib/tags.php
@@ -30,7 +30,7 @@ class Test_Tags extends \Test\TestCase {
 	protected $backupGlobals = FALSE;
 	/** @var \OC\Tagging\TagMapper */
 	protected $tagMapper;
-	/** @var \OC\TagManager */
+	/** @var \OCP\ITagManager */
 	protected $tagMgr;
 
 	protected function setUp() {
@@ -55,8 +55,9 @@ class Test_Tags extends \Test\TestCase {
 	}
 
 	protected function tearDown() {
-		//$query = OC_DB::prepare('DELETE FROM `*PREFIX*vcategories` WHERE `item_type` = ?');
-		//$query->execute(array('test'));
+		$conn = \OC_DB::getConnection();
+		$conn->executeQuery('DELETE FROM `*PREFIX*vcategory_to_object`');
+		$conn->executeQuery('DELETE FROM `*PREFIX*vcategory`');
 
 		parent::tearDown();
 	}
@@ -176,6 +177,31 @@ class Test_Tags extends \Test\TestCase {
 		);
 	}
 
+	public function testGetTagsForObjectsMassiveResults() {
+		$defaultTags = array('tag1');
+		$tagger = $this->tagMgr->load($this->objectType, $defaultTags);
+		$tagData = $tagger->getTags();
+		$tagId = $tagData[0]['id'];
+		$tagType = $tagData[0]['type'];
+
+		$conn = \OC_DB::getConnection();
+		$statement = $conn->prepare(
+				'INSERT INTO `*PREFIX*vcategory_to_object` ' .
+				'(`objid`, `categoryid`, `type`) VALUES ' .
+				'(?, ?, ?)'
+		);
+
+		// insert lots of entries
+		$idsArray = array();
+		for($i = 1; $i <= 1500; $i++) {
+			$statement->execute(array($i, $tagId, $tagType));
+			$idsArray[] = $i;
+		}
+
+		$tags = $tagger->getTagsForObjects($idsArray);
+		$this->assertEquals(1500, count($tags));
+	}
+
 	public function testDeleteTags() {
 		$defaultTags = array('Friends', 'Family', 'Work', 'Other');
 		$tagger = $this->tagMgr->load($this->objectType, $defaultTags);