diff --git a/plugins/content_types/entity_context/entity_field.inc b/plugins/content_types/entity_context/entity_field.inc
index 485ecb8..7f852f0 100644
--- a/plugins/content_types/entity_context/entity_field.inc
+++ b/plugins/content_types/entity_context/entity_field.inc
@@ -34,6 +34,14 @@ function ctools_entity_field_content_type_content_types() {
     return $types;
   }
 
+  $cache_key = 'ctools_entity_field_content_type_content_types';
+  if ($cache = cache_get($cache_key)) {
+    $types = $cache->data;
+    if (!empty($types)) {
+      return $types;
+    }
+  }
+
   // This will hold all the individual field content types.
   $context_types = array();
   $entities = entity_get_info();
@@ -82,6 +90,8 @@ function ctools_entity_field_content_type_content_types() {
     unset($context_types[$key]['types']);
   }
 
+  cache_set($cache_key, $types);
+
   return $types;
 }
 
