diff --git a/core/modules/taxonomy/src/VocabularyListBuilder.php b/core/modules/taxonomy/src/VocabularyListBuilder.php
index b5597bb..3a69415 100644
--- a/core/modules/taxonomy/src/VocabularyListBuilder.php
+++ b/core/modules/taxonomy/src/VocabularyListBuilder.php
@@ -41,11 +41,13 @@ public function getDefaultOperations(EntityInterface $entity) {
       'weight' => 0,
       'url' => $entity->urlInfo('overview-form'),
     );
-    $operations['add'] = array(
-      'title' => t('Add terms'),
-      'weight' => 10,
-      'url' => Url::fromRoute('entity.taxonomy_term.add_form', ['taxonomy_vocabulary' => $entity->id()]),
-    );
+    if (\Drupal::entityTypeManager()->getAccessControlHandler('taxonomy_term')->createAccess($entity->id())) {
+      $operations['add'] = array(
+        'title' => t('Add terms'),
+        'weight' => 10,
+        'url' => Url::fromRoute('entity.taxonomy_term.add_form', ['taxonomy_vocabulary' => $entity->id()]),
+      );
+    }
     unset($operations['delete']);
 
     return $operations;
