diff --git a/src/Plugin/facets/processor/BooleanItemProcessor.php b/src/Plugin/facets/processor/BooleanItemProcessor.php
index db10e9d..0a35ffb 100644
--- a/src/Plugin/facets/processor/BooleanItemProcessor.php
+++ b/src/Plugin/facets/processor/BooleanItemProcessor.php
@@ -6,6 +6,7 @@
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\facets\Processor\BuildProcessorInterface;
 use Drupal\facets\Processor\ProcessorPluginBase;
+use Drupal\search_api\Processor\ProcessorPropertyInterface;
 
 /**
  * Provides a processor for boolean labels.
@@ -89,6 +90,10 @@ public function defaultConfiguration() {
    */
   public function supportsFacet(FacetInterface $facet) {
     $data_definition = $facet->getDataDefinition();
+    if ($data_definition instanceof ProcessorPropertyInterface) {
+      return FALSE;
+    }
+
     $property_definitions = $data_definition->getPropertyDefinitions();
     foreach ($property_definitions as $definition) {
       if ($definition->getDataType() == "boolean") {
diff --git a/src/Plugin/facets/processor/TranslateEntityProcessor.php b/src/Plugin/facets/processor/TranslateEntityProcessor.php
index b7402b8..771c75a 100644
--- a/src/Plugin/facets/processor/TranslateEntityProcessor.php
+++ b/src/Plugin/facets/processor/TranslateEntityProcessor.php
@@ -11,6 +11,7 @@
 use Drupal\facets\FacetInterface;
 use Drupal\facets\Processor\BuildProcessorInterface;
 use Drupal\facets\Processor\ProcessorPluginBase;
+use Drupal\search_api\Processor\ProcessorPropertyInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -141,6 +142,10 @@ public function build(FacetInterface $facet, array $results) {
    */
   public function supportsFacet(FacetInterface $facet) {
     $data_definition = $facet->getDataDefinition();
+    if ($data_definition instanceof ProcessorPropertyInterface) {
+      return FALSE;
+    }
+
     $property_definitions = $data_definition->getPropertyDefinitions();
     foreach ($property_definitions as $definition) {
       if ($definition instanceof DataReferenceDefinitionInterface && $definition->getDataType() === 'entity_reference') {
diff --git a/src/Plugin/facets/processor/UidToUserNameCallbackProcessor.php b/src/Plugin/facets/processor/UidToUserNameCallbackProcessor.php
index 2f89130..490f9f9 100644
--- a/src/Plugin/facets/processor/UidToUserNameCallbackProcessor.php
+++ b/src/Plugin/facets/processor/UidToUserNameCallbackProcessor.php
@@ -6,6 +6,7 @@
 use Drupal\facets\FacetInterface;
 use Drupal\facets\Processor\BuildProcessorInterface;
 use Drupal\facets\Processor\ProcessorPluginBase;
+use Drupal\search_api\Processor\ProcessorPropertyInterface;
 use Drupal\user\Entity\User;
 
 /**
@@ -45,6 +46,10 @@ public function build(FacetInterface $facet, array $results) {
    */
   public function supportsFacet(FacetInterface $facet) {
     $data_definition = $facet->getDataDefinition();
+    if ($data_definition instanceof ProcessorPropertyInterface) {
+      return FALSE;
+    }
+
     $property_definitions = $data_definition->getPropertyDefinitions();
     foreach ($property_definitions as $definition) {
       if (
diff --git a/tests/src/Functional/AggregatedFieldTest.php b/tests/src/Functional/AggregatedFieldTest.php
new file mode 100644
index 0000000..c0e2c8e
--- /dev/null
+++ b/tests/src/Functional/AggregatedFieldTest.php
@@ -0,0 +1,101 @@
+<?php
+
+namespace Drupal\Tests\facets\Functional;
+
+use Drupal\entity_test\Entity\EntityTestMulRevChanged;
+use Drupal\search_api\Entity\Index;
+use Drupal\search_api\Utility\Utility;
+use Drupal\user\Entity\User;
+
+/**
+ * Class AggregatedFieldTest.
+ *
+ * @group facets
+ */
+class AggregatedFieldTest extends FacetsTestBase {
+
+  /**
+   * Users created for this test.
+   *
+   * @var \Drupal\user\Entity\User[]
+   */
+  protected $users;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function setUp() {
+    parent::setUp();
+
+    $this->drupalLogin($this->adminUser);
+
+    $this->setUpExampleStructure();
+    $this->insertExampleContent();
+
+    foreach ([7 => 'Owl', 8 => 'Robin', 9 => 'Hawk'] as $i => $value) {
+      $this->users[$i] = User::create([
+        'uid' => $i,
+        'name' => "User $i",
+      ]);
+      $this->users[$i]->save();
+
+      $this->entities[$i] = EntityTestMulRevChanged::create([
+        'id' => $i,
+        'user_id' => $i,
+        'name' => "Test entity $i name",
+        'body' => "Test entity $i body",
+      ]);
+      $this->entities[$i]->save();
+    }
+
+    $plugin_creation_helper = \Drupal::getContainer()->get('search_api.plugin_helper');
+    $fields_helper = \Drupal::getContainer()->get('search_api.fields_helper');
+
+    /** @var \Drupal\search_api\IndexInterface $index */
+    $index = Index::load($this->indexId);
+    $index->addDatasource($plugin_creation_helper->createDatasourcePlugin($index, 'entity:user'));
+    $index->addProcessor($plugin_creation_helper->createProcessorPlugin($index, 'aggregated_field'));
+    $field = $fields_helper->createField($index, 'aggregated_field', ['property_path' => 'aggregated_field']);
+    $field->setConfiguration([
+      'type' => 'union',
+      'fields' => [
+        Utility::createCombinedId('entity:entity_test_mulrev_changed', 'name'),
+        Utility::createCombinedId('entity:user', 'name'),
+      ],
+    ]);
+    $field->setDataDefinition();
+    $index->addField($field);
+    $index->save();
+    $this->drupalGet('admin/config/search/search-api/index/');
+
+    $this->indexItems($this->indexId);
+  }
+
+  /**
+   * Tests aggregated fields.
+   *
+   * @see https://www.drupal.org/node/2917323
+   */
+  public function testAggregatedField() {
+    $facet_id = 'test_agg';
+
+    // Go to the Add facet page and make sure that returns a 200.
+    $facet_add_page = '/admin/config/search/facets/add-facet';
+    $this->drupalGet($facet_add_page);
+    $this->assertSession()->statusCodeEquals(200);
+
+    $form_values = [
+      'name' => 'Test agg',
+      'id' => $facet_id,
+      'facet_source_id' => 'search_api:views_page__search_api_test_view__page_1',
+      'facet_source_configs[search_api:views_page__search_api_test_view__page_1][field_identifier]' => 'aggregated_field',
+    ];
+
+    // Try filling out the form, but without having filled in a name for the
+    // facet to test for form errors.
+    $this->drupalPostForm(NULL, ['facet_source_id' => 'search_api:views_page__search_api_test_view__page_1'], 'Configure facet source');
+    $this->drupalPostForm(NULL, $form_values, 'Save');
+    $this->assertSession()->statusCodeEquals(200);
+  }
+
+}
diff --git a/tests/src/Functional/FacetsTestBase.php b/tests/src/Functional/FacetsTestBase.php
index 5706589..69a5a5d 100644
--- a/tests/src/Functional/FacetsTestBase.php
+++ b/tests/src/Functional/FacetsTestBase.php
@@ -99,7 +99,7 @@ public function setUp() {
    * @return \Drupal\search_api\ServerInterface
    *   A search server.
    */
-  public function getTestServer($name = 'WebTest server', $id = 'webtest_server', $backend_id = 'search_api_test_backend', array $backend_config = [], $reset = FALSE) {
+  public function getTestServer($name = 'WebTest server', $id = 'webtest_server', $backend_id = 'search_api_db', array $backend_config = [], $reset = FALSE) {
     if ($reset) {
       $server = Server::load($id);
       if ($server) {
