diff --git a/includes/cache.inc b/includes/cache.inc
index eb7f090..0f64b00 100644
--- a/includes/cache.inc
+++ b/includes/cache.inc
@@ -173,6 +173,12 @@ function cache_clear_all($cid = NULL, $bin = NULL, $wildcard = FALSE) {
     cache_clear_all(NULL, 'cache_page');
     return;
   }
+  // Silently skip cache clear requests for tables that have not
+  // been created yet.  This can happen, for example, when enabling
+  // a module during a major upgrade prior to running updatedb.
+  if (!db_table_exists($bin)) {
+    return TRUE;
+  }
   return _cache_get_object($bin)->clear($cid, $wildcard);
 }
 
