diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index 3313f5a..b194cde 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -168,6 +168,7 @@ function system_themes_page() {
      // Require the 'content' region to make sure the main page
      // content has a common place in all themes.
       $theme->incompatible_core = !isset($theme->info['core']) || ($theme->info['core'] != DRUPAL_CORE_COMPATIBILITY) || (!isset($theme->info['regions']['content']));
+      $theme->incompatible_info = ($theme->info['name'] == 'Name not specified');
       $theme->incompatible_php = version_compare(phpversion(), $theme->info['php']) < 0;
     }
     $query['token'] = drupal_get_token('system-theme-operation-link');
@@ -2668,6 +2669,9 @@ function theme_system_themes_page($variables) {
         }
         $output .= '<div class="incompatible">' . t('This theme requires PHP version @php_required and is incompatible with PHP version !php_version.', array('@php_required' => $theme->info['php'], '!php_version' => phpversion())) . '</div>';
       }
+      elseif (!empty($theme->incompatible_info)) {
+        $output .= '<div class="incompatible">' . t('The theme info file has errors or omissions.') . '</div>';
+      }
       else {
         $output .= theme('links', array('links' => $theme->operations, 'attributes' => array('class' => array('operations', 'clearfix'))));
       }
diff --git a/modules/system/system.module b/modules/system/system.module
index 946ef0c..953cd7c 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -2470,6 +2470,7 @@ function _system_rebuild_theme_data() {
 
   // Set defaults for theme info.
   $defaults = array(
+    'name' => 'Name not specified',
     'engine' => 'phptemplate',
     'regions' => array(
       'sidebar_first' => 'Left sidebar',
