diff --git a/commands/core/cache.drush.inc b/commands/core/cache.drush.inc
index 3ea11d2..6b282cf 100644
--- a/commands/core/cache.drush.inc
+++ b/commands/core/cache.drush.inc
@@ -65,18 +65,30 @@ function cache_drush_command() {
  *   Array of clear types.
  */
 function cache_cache_command_clear_complete() {
-  return array('values' => array_keys(drush_cache_clear_types()));
+  return array('values' => array_keys(drush_cache_clear_types(TRUE)));
 }
 
 /**
  * Command callback for drush cache-clear.
  */
 function drush_cache_command_clear($type = NULL) {
-  $types = drush_cache_clear_types();
+  $types = drush_cache_clear_types(drush_has_boostrapped(DRUSH_BOOTSTRAP_DRUPAL_FULL));
 
   // Check if the provided type ($type) is a valid cache type.
   if ($type && !key_exists($type, $types)) {
-    return drush_set_error(dt("'!type' cache is not a valid cache type", array('!type' => $type)));
+    // If we haven't done a full bootstrap, provide a more
+    // specific message with instructions to the user on
+    // bootstrapping a Drupal site for more options.
+    if (!drush_has_boostrapped(DRUSH_BOOTSTRAP_DRUPAL_FULL)) {
+      $all_types = drush_cache_clear_types(TRUE);
+      if (key_exists($type, $all_types)) {
+        return drush_set_error(dt("'!type' cache requires a working Drupal site to operate on. Use the --root and --uri options, or a site @alias, or cd to a directory containing a Drupal settings.php file.", array('!type' => $type)));
+      }
+      else {
+        return drush_set_error(dt("'!type' cache is not a valid cache type. There may be more cache types available if you select a working Drupal site.", array('!type' => $type)));
+      }
+    }
+    return drush_set_error(dt("'!type' cache is not a valid cache type.", array('!type' => $type)));
   }
 
   if ($type) {
@@ -169,12 +181,12 @@ function drush_cache_command_set($cid = NULL, $data = '', $bin = NULL, $expire =
 /*
  * All types of caches available for clearing. Contrib commands can alter in their own.
  */
-function drush_cache_clear_types() {
+function drush_cache_clear_types($include_bootstraped_types = FALSE) {
   $types = array(
     'all' => 'drush_cache_clear_both',
     'drush' => 'drush_cache_clear_drush',
   );
-  if (drush_has_boostrapped(DRUSH_BOOTSTRAP_DRUPAL_FULL)) {
+  if ($include_bootstraped_types) {
     $types += array(
       'theme-registry' => 'drush_cache_clear_theme_registry',
       'menu' => 'menu_rebuild',
