diff --git a/eck.module b/eck.module
index 9bf80bb..046d6d3 100644
--- a/eck.module
+++ b/eck.module
@@ -97,6 +97,7 @@ function eck_entity_type_build(array &$entity_types) {
           'default' => 'Drupal\eck\Form\Entity\EckEntityForm',
         ),
         'list_builder' => 'Drupal\eck\Controller\EckEntityBundleListBuilder',
+        'access' => 'Drupal\eck\EckBundleAccessControlHandler',
       ),
       'admin_permission' => 'administer eck entity bundles',
     );
diff --git a/src/EckBundleAccessControlHandler.php b/src/EckBundleAccessControlHandler.php
new file mode 100644
index 0000000..aaab62c
--- /dev/null
+++ b/src/EckBundleAccessControlHandler.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace Drupal\eck;
+
+use Drupal\Core\Access\AccessResult;
+use Drupal\Core\Entity\EntityAccessControlHandler;
+use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Session\AccountInterface;
+
+/**
+ * Access controller for eck bundles.
+ *
+ * @ingroup eck
+ */
+class EckBundleAccessControlHandler extends EntityAccessControlHandler {
+
+  /**
+   * {@inheritdoc}
+   */
+  public $viewLabelOperation = TRUE;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
+    // We don't treat the bundle label as privileged information.
+    if ($operation === 'view label') {
+      return AccessResult::allowed();
+    }
+
+    return parent::checkAccess($entity, $operation, $account);
+  }
+
+}
