diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index 0b81dc0..5579709 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -2972,17 +2972,34 @@ class SchemaCache extends DrupalCacheArray {
   }
 
   /**
+   * Whether the cache should be persisted.
+   */
+  protected $persistable;
+
+  /**
    * Overrides DrupalCacheArray::resolveCacheMiss().
    */
   protected function resolveCacheMiss($offset) {
     $complete_schema = drupal_get_complete_schema();
     $value = isset($complete_schema[$offset]) ? $complete_schema[$offset] :  NULL;
     $this->storage[$offset] = $value;
-    $this->persist($offset);
+    if ($this->persistable()) {
+      $this->storage[$offset] = $value;
+    }
     return $value;
   }
 }
 
+  /**
+   * Whether the cache should be persisted.
+   */
+  protected function persistable() {
+    if (is_null($this->persistable)) {
+      $this->persistable = drupal_get_bootstrap_phase() == DRUPAL_BOOTSTRAP_FULL;
+    }
+    return $this->persistable;
+  }
+
 /**
  * Gets the whole database schema.
  *
