diff --git a/search_api_db.test b/search_api_db.test
index f169a4e..87a9c5a 100644
--- a/search_api_db.test
+++ b/search_api_db.test
@@ -932,6 +932,7 @@ class SearchApiDbTest extends DrupalWebTestCase {
     $this->drupalGet('search_api_test/insert');
     $this->insertItem(array(
       'id' => 6,
+      'body' => 'คุณพูดภาษาอังกฤษหรือเปล่า',
       'prices' => '3.5,3.25,3.75,3.5',
     ));
 
@@ -946,6 +947,20 @@ class SearchApiDbTest extends DrupalWebTestCase {
     $this->assertEqual($results['result count'], 1, 'Filter on decimal field returned correct number of results.');
     $this->assertEqual(array_keys($results['results']), array(6), 'Filter on decimal field returned correct result.');
     $this->assertEqual($results['warnings'], array(), 'No warnings were displayed.');
+
+    // Regression test for #2616804.
+    // The word has 25 Unicode characters but 75 bytes. Verify that it was still
+    // indexed correctly.
+    $query = $this->buildSearch('คุณพูดภาษาอังกฤษหรือเปล่า');
+    $results = $query->execute();
+    $this->assertEqual($results['result count'], 1, 'Search for word with 25 multi-byte characters returned correct number of results.');
+    $this->assertEqual(array_keys($results['results']), array(6), 'Search for word with 25 multi-byte characters returned correct result.');
+    $this->assertEqual($results['warnings'], array(), 'No warnings were displayed.');
+
+    $query = $this->buildSearch('คุณพูดภาษาอังกฤษหรือเปล่าษ');
+    $results = $query->execute();
+    $this->assertEqual($results['result count'], 0, 'Search for unknown word with 26 multi-byte characters returned no results.');
+    $this->assertEqual($results['warnings'], array(), 'No warnings were displayed.');
   }
 
   /**
