diff --git includes/module.inc includes/module.inc
index 4392ab3..f23861e 100644
--- includes/module.inc
+++ includes/module.inc
@@ -369,6 +369,9 @@ function module_enable($module_list, $enable_dependencies = TRUE) {
       registry_update();
       // Refresh the schema to include it.
       drupal_get_schema(NULL, TRUE);
+      // Clear entity cache.
+      drupal_static_reset('entity_get_info');
+      cache_clear_all('entity_info', 'cache', TRUE);
 
       // Now install the module if necessary.
       if (drupal_get_installed_schema_version($module, TRUE) == SCHEMA_UNINSTALLED) {
diff --git modules/simpletest/simpletest.info modules/simpletest/simpletest.info
index 0f10636..3a8f2be 100644
--- modules/simpletest/simpletest.info
+++ modules/simpletest/simpletest.info
@@ -19,6 +19,7 @@ files[] = tests/bootstrap.test
 files[] = tests/cache.test
 files[] = tests/common.test
 files[] = tests/database_test.test
+files[] = tests/entity_cache.test
 files[] = tests/error.test
 files[] = tests/file.test
 files[] = tests/filetransfer.test
diff --git modules/simpletest/tests/entity_cache.test modules/simpletest/tests/entity_cache.test
new file mode 100644
index 0000000..68e2340
--- /dev/null
+++ modules/simpletest/tests/entity_cache.test
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * @file
+ * Tests for entity cache functionality.
+ */
+
+class EntityCacheTestCase extends DrupalWebTestCase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Entity cache',
+      'description' => 'Tests entity cache after enabling modules.',
+      'group' => 'Entity',
+    );
+  }
+  
+  /**
+   * Tests entity cache after enabling a module with a dependency on an enitity
+   * providing module.
+   */
+  function testEntityCache() {
+    module_enable(array('entity_cache_test'));
+    $info = variable_get('entity_cache_test');
+    $this->assertNotNull($info, t('Entity information must not be NULL'));
+  }
+}
diff --git modules/simpletest/tests/entity_cache_test.info modules/simpletest/tests/entity_cache_test.info
new file mode 100644
index 0000000..567bf74
--- /dev/null
+++ modules/simpletest/tests/entity_cache_test.info
@@ -0,0 +1,9 @@
+; $Id$
+name = "Entity cache test"
+description = "Support module for testing entity cache."
+package = Testing
+version = VERSION
+core = 7.x
+files[] = entity_cache_test.module
+dependencies[] = entity_cache_test_dependency
+hidden = TRUE
diff --git modules/simpletest/tests/entity_cache_test.module modules/simpletest/tests/entity_cache_test.module
new file mode 100644
index 0000000..0491117
--- /dev/null
+++ modules/simpletest/tests/entity_cache_test.module
@@ -0,0 +1,15 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * Helper module for entity cache tests.
+ */
+
+/**
+ * Implements hook_watchdog().
+ */
+function entity_cache_test_watchdog() {
+  $info = entity_get_info('entity_cache_test');
+  variable_set('entity_cache_test', $info);
+}
diff --git modules/simpletest/tests/entity_cache_test_dependency.info modules/simpletest/tests/entity_cache_test_dependency.info
new file mode 100644
index 0000000..dac380f
--- /dev/null
+++ modules/simpletest/tests/entity_cache_test_dependency.info
@@ -0,0 +1,8 @@
+; $Id$
+name = "Entity cache test dependency"
+description = "Support dependency module for testing entity cache."
+package = Testing
+version = VERSION
+core = 7.x
+files[] = entity_cache_test_dependency.module
+hidden = TRUE
diff --git modules/simpletest/tests/entity_cache_test_dependency.module modules/simpletest/tests/entity_cache_test_dependency.module
new file mode 100644
index 0000000..19d51cc
--- /dev/null
+++ modules/simpletest/tests/entity_cache_test_dependency.module
@@ -0,0 +1,19 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * Helper module for entity cache tests.
+ */
+
+/**
+ * Implements hook_entity_info().
+ */
+function entity_cache_test_dependency_entity_info() {
+  return array(
+    'entity_cache_test' => array(
+      'label' => 'Entity Cache Test',
+      'base table' => 'entity_cache_test',
+    ),
+  );
+}
