diff --git a/src/ResourceType/ConfigurableResourceTypeRepository.php b/src/ResourceType/ConfigurableResourceTypeRepository.php
index 96c05d1..081e42f 100644
--- a/src/ResourceType/ConfigurableResourceTypeRepository.php
+++ b/src/ResourceType/ConfigurableResourceTypeRepository.php
@@ -57,6 +57,13 @@ class ConfigurableResourceTypeRepository extends ResourceTypeRepository {
    */
   protected $enabledResourceTypes;
 
+  /**
+   * A list of all resource configuration entities.
+   *
+   * @var \Drupal\jsonapi_extras\Entity\JsonapiResourceConfig[]
+   */
+  protected $resourceConfigs;
+
   /**
    * {@inheritdoc}
    */
@@ -120,16 +127,17 @@ class ConfigurableResourceTypeRepository extends ResourceTypeRepository {
    * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
    */
   function getResourceConfigs() {
-    $resource_config_ids = [];
-    foreach ($this->getEntityTypeBundleTuples() as $tuple) {
-      list($entity_type_id, $bundle) = $tuple;
-      $resource_config_ids[] = sprintf('%s--%s', $entity_type_id, $bundle);
+    if (!$this->resourceConfigs) {
+      $resource_config_ids = [];
+      foreach ($this->getEntityTypeBundleTuples() as $tuple) {
+        list($entity_type_id, $bundle) = $tuple;
+        $resource_config_ids[] = sprintf('%s--%s', $entity_type_id, $bundle);
+      }
+      $this->resourceConfigs = $this->entityTypeManager
+        ->getStorage('jsonapi_resource_config')
+        ->loadMultiple($resource_config_ids);
     }
-    /** @var \Drupal\jsonapi_extras\Entity\JsonapiResourceConfig[] $resource_configs */
-    $resource_configs = $this->entityTypeManager
-      ->getStorage('jsonapi_resource_config')
-      ->loadMultiple($resource_config_ids);
-    return $resource_configs;
+    return $this->resourceConfigs;
   }
 
   /**
