diff --git a/modules/ctools_block/src/Plugin/Block/EntityField.php b/modules/ctools_block/src/Plugin/Block/EntityField.php
index 1120f09..e8d4533 100644
--- a/modules/ctools_block/src/Plugin/Block/EntityField.php
+++ b/modules/ctools_block/src/Plugin/Block/EntityField.php
@@ -17,6 +17,7 @@ use Drupal\Core\Entity\FieldableEntityInterface;
 use Drupal\Core\Field\FieldTypePluginManagerInterface;
 use Drupal\Core\Field\FormatterPluginManager;
 use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Form\SubformStateInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\Core\Plugin\ContextAwarePluginInterface;
 use Drupal\Core\Session\AccountInterface;
@@ -195,6 +196,11 @@ class EntityField extends BlockBase implements ContextAwarePluginInterface, Cont
    */
   public function blockForm($form, FormStateInterface $form_state) {
     $config = $this->getConfiguration();
+    // @todo Remove call to getCompleteFormState() when
+    // https://www.drupal.org/node/2798261 is resolved.
+    if ($form_state instanceof SubformStateInterface) {
+      $form_state = $form_state->getCompleteFormState();
+    }
 
     $form['formatter_label'] = [
       '#type' => 'select',
