diff --git a/sources/content/src/ContentEntitySourcePluginUi.php b/sources/content/src/ContentEntitySourcePluginUi.php
index e949798..781ff79 100644
--- a/sources/content/src/ContentEntitySourcePluginUi.php
+++ b/sources/content/src/ContentEntitySourcePluginUi.php
@@ -208,18 +208,13 @@ class ContentEntitySourcePluginUi extends SourcePluginUiBase {
   public function overviewForm(array $form, FormStateInterface $form_state, $type) {
     $form = parent::overviewForm($form, $form_state, $type);
 
-    // Load search property params which will be passed into
-    $search_property_params = array();
-    $exclude_params = array('q', 'page');
-    foreach ($_GET as $key => $value) {
-      // Skip exclude params, and those that have empty values, as these would
-      // make it into query condition instead of being ignored.
-      if (in_array($key, $exclude_params) || $value === '') {
-        continue;
-      }
-      $search_property_params[$key] = $value;
-    }
-
+    // Load search property params which will be passed into.
+    $entity_type = \Drupal::entityManager()->getDefinition($type);
+    $whitelist = array('langcode', 'target_language', 'target_status');
+    $whitelist[] = $entity_type->getKey('bundle');
+    $whitelist[] = $entity_type->getKey('label');
+    $search_property_params = array_filter(\Drupal::request()->query->all());
+    $search_property_params = array_intersect_key($search_property_params, array_flip($whitelist));
     $bundles = $this->getTranslatableBundles($type);
 
     foreach ($this->getTranslatableEntities($type, $search_property_params) as $entity) {
diff --git a/sources/content/src/Tests/ContentEntitySourceListTest.php b/sources/content/src/Tests/ContentEntitySourceListTest.php
index 8aa8b34..3f50a76 100644
--- a/sources/content/src/Tests/ContentEntitySourceListTest.php
+++ b/sources/content/src/Tests/ContentEntitySourceListTest.php
@@ -292,4 +292,21 @@ class ContentEntitySourceListTest extends EntityTestBase {
     $this->drupalPostForm('admin/tmgmt/sources/content/comment', $edit, t('Search'));
     $this->assertText($comment->getSubject(), 'Searching for a comment subject.');
   }
+
+  /**
+   * Tests that the term bundle filter works.
+   */
+  public function testAjaxFunctions() {
+    $term = 'title';
+    $this->drupalPostAjaxForm('/admin/tmgmt/sources/content/node', ['search[' . $term . ']' => $this->nodes['article']['en'][0]->label()], 'source');
+    $this->assertText(t('Content overview'));
+    $this->assertText($this->nodes['article']['en'][0]->label());
+    $this->drupalPostAjaxForm('/admin/tmgmt/sources/content/node', ['search[' . $term . ']' => 'wrong_value'], 'source');
+    $this->assertText(t('Content overview'));
+    $this->assertText($this->nodes['article']['en'][0]->label());
+    $term = 'any_key';
+    $edit = array($term => 'any_value');
+    $this->drupalGet('/admin/tmgmt/sources/content/node', $edit);
+    $this->assertResponse(200);
+  }
 }
