diff --git a/tests/search/native_test.php b/tests/search/native_test.php
index 3726b96a82..66972079cf 100644
--- a/tests/search/native_test.php
+++ b/tests/search/native_test.php
@@ -62,12 +62,14 @@ class phpbb_search_native_test extends phpbb_database_test_case
 			// ok
 			// must contain ids
 			// must not contain ids
+			// common words
 			array(
 				'foo',
 				'all',
 				true,
 				array(1),
 				array(),
+				array(),
 			),
 			array(
 				'foo bar',
@@ -75,6 +77,7 @@ class phpbb_search_native_test extends phpbb_database_test_case
 				true,
 				array(1, 2),
 				array(),
+				array(),
 			),
 			// leading, trailing and multiple spaces
 			array(
@@ -83,21 +86,25 @@ class phpbb_search_native_test extends phpbb_database_test_case
 				true,
 				array(1, 2),
 				array(),
+				array(),
 			),
 			// words too short
 			array(
 				'f',
 				'all',
 				false,
-				array(),
-				array(),
+				null,
+				null,
+				// short words count as "common" words
+				array('f'),
 			),
 			array(
 				'f o o',
 				'all',
 				false,
-				array(),
-				array(),
+				null,
+				null,
+				array('f', 'o', 'o'),
 			),
 			array(
 				'foo -bar',
@@ -105,20 +112,23 @@ class phpbb_search_native_test extends phpbb_database_test_case
 				true,
 				array(1),
 				array(2),
+				array(),
 			),
 			// all negative
 			array(
 				'-foo',
 				'all',
 				false,
-				array(),
+				null,
+				null,
 				array(),
 			),
 			array(
 				'-foo -bar',
 				'all',
 				false,
-				array(),
+				null,
+				null,
 				array(),
 			),
 			// all common
@@ -126,8 +136,9 @@ class phpbb_search_native_test extends phpbb_database_test_case
 				'commonword',
 				'all',
 				false,
-				array(),
-				array(),
+				null,
+				null,
+				array('commonword'),
 			),
 			// some common
 			array(
@@ -136,6 +147,7 @@ class phpbb_search_native_test extends phpbb_database_test_case
 				true,
 				array(1),
 				array(),
+				array('commonword'),
 			),
 		);
 	}
@@ -143,12 +155,32 @@ class phpbb_search_native_test extends phpbb_database_test_case
 	/**
 	* @dataProvider keywords
 	*/
-	public function test_split_keywords($keywords, $terms, $ok, $must_contain, $must_not_contain)
+	public function test_split_keywords($keywords, $terms, $ok, $must_contain, $must_not_contain, $common)
 	{
 		$rv = $this->search->split_keywords($keywords, $terms);
 		$this->assertEquals($ok, $rv);
+		if ($ok)
+		{
+			// only check criteria if the search is going to be performed
+			$this->assert_array_content_equals($must_contain, $this->search->get_must_contain_ids());
+			$this->assert_array_content_equals($must_not_contain, $this->search->get_must_not_contain_ids());
+		}
+		$this->assert_array_content_equals($common, $this->search->get_common_words());
+	}
+
+	public function assert_array_content_equals($one, $two)
+	{
 		// http://stackoverflow.com/questions/3838288/phpunit-assert-two-arrays-are-equal-but-order-of-elements-not-important
-		$this->assertEmpty(array_diff($must_contain, $this->search->get_must_contain_ids()));
-		$this->assertEmpty(array_diff($must_not_contain, $this->search->get_must_not_contain_ids()));
+		// but one array_diff is not enough!
+		if (sizeof(array_diff($one, $two)) || sizeof(array_diff($two, $one)))
+		{
+			// get a nice error message
+			$this->assertEquals($one, $two);
+		}
+		else
+		{
+			// increase assertion count
+			$this->assertTrue(true);
+		}
 	}
 }