diff --git a/search_api_db/src/Plugin/search_api/backend/Database.php b/search_api_db/src/Plugin/search_api/backend/Database.php
index 4d9bd9a..cf74c13 100644
--- a/search_api_db/src/Plugin/search_api/backend/Database.php
+++ b/search_api_db/src/Plugin/search_api/backend/Database.php
@@ -811,6 +811,7 @@ class Database extends BackendPluginBase {
       // These are new fields that were previously not indexed.
       foreach ($new_fields as $field_id => $field) {
         $reindex = TRUE;
+        $fields[$field_id] = array();
         if (Utility::isTextType($field->getType())) {
           if (!isset($text_table)) {
             // If we have not encountered a text table, assign a name for it.
diff --git a/search_api_db/src/Tests/BackendTest.php b/search_api_db/src/Tests/BackendTest.php
index 310bb62..9a8969a 100644
--- a/search_api_db/src/Tests/BackendTest.php
+++ b/search_api_db/src/Tests/BackendTest.php
@@ -857,7 +857,21 @@ class BackendTest extends EntityUnitTestBase {
     $count = $this->indexItems($this->indexId);
     $this->assertEqual($count, 1, 'Indexing an item with a word longer than 50 characters worked.');
 
-    $index->getFields(FALSE)[$this->getFieldId('body')]->setIndexed(FALSE, TRUE);
+    // Regression test for #2616268.
+    $index->getFields()[$this->getFieldId('body')]->setType('string', TRUE);
+    $index->save();
+    $count = $this->indexItems($this->indexId);
+    $this->assertEqual($count, 8, 'Switching type from text to string worked.');
+
+    // For a string field, 50 characters shouldn't be a problem.
+    $query = $this->buildSearch(NULL, array('body,astringlongerthanfiftycharactersthatcantbestoredbythedbbackend'));
+    $results = $query->execute();
+    $this->assertEqual($results->getResultCount(), 1, 'Filter on new string field returned correct number of results.');
+    $this->assertEqual(array_keys($results->getResultItems()), $this->getItemIds(array(8)), 'Filter on new string field returned correct result.');
+    $this->assertIgnored($results);
+    $this->assertWarnings($results);
+
+    $index->getFields()[$this->getFieldId('body')]->setIndexed(FALSE, TRUE);
     $index->save();
   }
 
