diff --git a/plugins/entity/PanelizerEntityDefault.class.php b/plugins/entity/PanelizerEntityDefault.class.php
index 26487d6..663dcb9 100644
--- a/plugins/entity/PanelizerEntityDefault.class.php
+++ b/plugins/entity/PanelizerEntityDefault.class.php
@@ -395,138 +395,140 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
     ) + $settings_base;
 
     $weight = 1;
-    foreach ($this->plugin['view modes'] as $view_mode => $view_mode_info) {
-      $tabs_base = array(
-        'access callback' => 'panelizer_has_no_choice_callback',
-        'access arguments' => array($this->entity_type, $bundle, $view_mode),
-        'page arguments' => array($this->entity_type, $bundle, 'default', $view_mode),
-        'type' => MENU_LOCAL_TASK,
-        'file' => 'includes/admin.inc',
-        'weight' => $weight++,
-      );
-
-      $items[$root . '/panelizer/' . $view_mode] = array(
-        'access callback' => 'panelizer_is_panelized',
-        'title' => $view_mode_info['label'],
-        'page callback' => 'panelizer_default_list_or_settings_page',
-      ) + $tabs_base;
+    if (!empty($entity_info['view modes'])) {
+      foreach ($this->plugin['view modes'] as $view_mode => $view_mode_info) {
+        $tabs_base = array(
+          'access callback' => 'panelizer_has_no_choice_callback',
+          'access arguments' => array($this->entity_type, $bundle, $view_mode),
+          'page arguments' => array($this->entity_type, $bundle, 'default', $view_mode),
+          'type' => MENU_LOCAL_TASK,
+          'file' => 'includes/admin.inc',
+          'weight' => $weight++,
+        );
 
-      $items[$root . '/panelizer/' . $view_mode . '/settings'] = array(
-        'title' => 'Settings',
-        'page callback' => 'panelizer_default_settings_page',
-        'weight' => -5,
-        'type' => MENU_DEFAULT_LOCAL_TASK,
-      ) + $tabs_base;
-
-      $items[$root . '/panelizer/' . $view_mode . '/context'] = array(
-        'title' => 'Contexts',
-        'page callback' => 'panelizer_default_context_page',
-        'weight' => -4,
-      ) + $tabs_base;
-
-      $items[$root . '/panelizer/' . $view_mode . '/layout'] = array(
-        'title' => 'Layout',
-        'page callback' => 'panelizer_default_layout_page',
-        'weight' => -3,
-      ) + $tabs_base;
-
-      $items[$root . '/panelizer/' . $view_mode . '/content'] = array(
-        'title' => 'Content',
-        'page callback' => 'panelizer_default_content_page',
-        'weight' => -2,
-      ) + $tabs_base;
-
-      $subtabs_base = array(
-        'access callback' => 'panelizer_administer_panelizer_default',
-        'access arguments' => array($this->entity_type, $bundle, $base_count + 2, $base_count + 1),
-        'page arguments' => array($this->entity_type, $bundle, $base_count + 2, $base_count + 1),
-        'type' => MENU_LOCAL_TASK,
-        'file' => 'includes/admin.inc',
-      );
+        $items[$root . '/panelizer/' . $view_mode] = array(
+          'access callback' => 'panelizer_is_panelized',
+          'title' => $view_mode_info['label'],
+          'page callback' => 'panelizer_default_list_or_settings_page',
+        ) + $tabs_base;
 
-      $items[$root . '/panelizer/' . $view_mode . '/%'] = array(
-        'title' => 'Settings',
-        'page callback' => 'panelizer_default_settings_page',
-        'title callback' => 'panelizer_default_name_title_callback',
-        'type' => MENU_CALLBACK,
-      ) + $subtabs_base;
-
-      $items[$root . '/panelizer/' . $view_mode . '/%/settings'] = array(
-        'title' => 'Settings',
-        'page callback' => 'panelizer_default_settings_page',
-        'weight' => -5,
-      ) + $subtabs_base;
-
-      $items[$root . '/panelizer/' . $view_mode . '/%/context'] = array(
-        'title' => 'Contexts',
-        'page callback' => 'panelizer_default_context_page',
-        'weight' => -4,
-      ) + $subtabs_base;
-
-      $items[$root . '/panelizer/' . $view_mode . '/%/layout'] = array(
-        'title' => 'Layout',
-        'page callback' => 'panelizer_default_layout_page',
-        'weight' => -3,
-      ) + $subtabs_base;
-
-      $items[$root . '/panelizer/' . $view_mode . '/%/content'] = array(
-        'title' => 'Content',
-        'page callback' => 'panelizer_default_content_page',
-        'weight' => -2,
-      ) + $subtabs_base;
-
-      $items[$root . '/panelizer/' . $view_mode . '/%/access'] = array(
-        'title' => 'Access',
-        'page callback' => 'panelizer_default_access_page',
-        'weight' => -2,
-      ) + $subtabs_base;
-
-      // Also make clones of all the export UI menu items. Again there is some
-      // duplicated code here because of subtle differences.
-      // Load the $plugin information
-      $plugin = ctools_get_export_ui('panelizer_defaults');
-
-      $ui_items = $plugin['menu']['items'];
-
-      // Change the item to a tab.
-      $ui_items['list']['type'] = MENU_LOCAL_TASK;
-      $ui_items['list']['weight'] = -6;
-      $ui_items['list']['title'] = 'List';
-
-      // menu local actions are weird.
-      $ui_items['add']['path'] = 'list/add';
-      $ui_items['import']['path'] = 'list/import';
-
-      // Edit is being handled elsewhere:
-      unset($ui_items['edit']);
-      unset($ui_items['edit callback']);
-      unset($ui_items['list callback']);
-      unset($ui_items['context']);
-      unset($ui_items['content']);
-      unset($ui_items['layout']);
-      unset($ui_items['access']);
-
-      // Change the callbacks for everything:
-      foreach ($ui_items as $key => $item) {
-        // originally admin/config/content/panelizer/%panelizer_handler
-        $ui_items[$key]['access callback'] = 'panelizer_has_choice_callback';
-        $ui_items[$key]['access arguments'] = array($this->entity_type, $bundle, '');
-        $ui_items[$key]['page callback'] = 'panelizer_export_ui_switcher_page';
-        array_unshift($ui_items[$key]['page arguments'], $bundle);
-        array_unshift($ui_items[$key]['page arguments'], $this->entity_type);
-        $ui_items[$key]['path'] = str_replace('list/', '', $ui_items[$key]['path']);
-      }
+        $items[$root . '/panelizer/' . $view_mode . '/settings'] = array(
+          'title' => 'Settings',
+          'page callback' => 'panelizer_default_settings_page',
+          'weight' => -5,
+          'type' => MENU_DEFAULT_LOCAL_TASK,
+        ) + $tabs_base;
+
+        $items[$root . '/panelizer/' . $view_mode . '/context'] = array(
+          'title' => 'Contexts',
+          'page callback' => 'panelizer_default_context_page',
+          'weight' => -4,
+        ) + $tabs_base;
+
+        $items[$root . '/panelizer/' . $view_mode . '/layout'] = array(
+          'title' => 'Layout',
+          'page callback' => 'panelizer_default_layout_page',
+          'weight' => -3,
+        ) + $tabs_base;
 
-      foreach ($ui_items as $item) {
-        // Add menu item defaults.
-        $item += array(
-          'file' => 'export-ui.inc',
-          'file path' => drupal_get_path('module', 'ctools') . '/includes',
+        $items[$root . '/panelizer/' . $view_mode . '/content'] = array(
+          'title' => 'Content',
+          'page callback' => 'panelizer_default_content_page',
+          'weight' => -2,
+        ) + $tabs_base;
+
+        $subtabs_base = array(
+          'access callback' => 'panelizer_administer_panelizer_default',
+          'access arguments' => array($this->entity_type, $bundle, $base_count + 2, $base_count + 1),
+          'page arguments' => array($this->entity_type, $bundle, $base_count + 2, $base_count + 1),
+          'type' => MENU_LOCAL_TASK,
+          'file' => 'includes/admin.inc',
         );
 
-        $path = !empty($item['path']) ? $root . '/panelizer/' . $view_mode . '/' . $item['path'] : $root . '/panelizer/' . $view_mode;
-        unset($item['path']);
-        $items[$path] = $item;
+        $items[$root . '/panelizer/' . $view_mode . '/%'] = array(
+          'title' => 'Settings',
+          'page callback' => 'panelizer_default_settings_page',
+          'title callback' => 'panelizer_default_name_title_callback',
+          'type' => MENU_CALLBACK,
+        ) + $subtabs_base;
+
+        $items[$root . '/panelizer/' . $view_mode . '/%/settings'] = array(
+          'title' => 'Settings',
+          'page callback' => 'panelizer_default_settings_page',
+          'weight' => -5,
+        ) + $subtabs_base;
+
+        $items[$root . '/panelizer/' . $view_mode . '/%/context'] = array(
+          'title' => 'Contexts',
+          'page callback' => 'panelizer_default_context_page',
+          'weight' => -4,
+        ) + $subtabs_base;
+
+        $items[$root . '/panelizer/' . $view_mode . '/%/layout'] = array(
+          'title' => 'Layout',
+          'page callback' => 'panelizer_default_layout_page',
+          'weight' => -3,
+        ) + $subtabs_base;
+
+        $items[$root . '/panelizer/' . $view_mode . '/%/content'] = array(
+          'title' => 'Content',
+          'page callback' => 'panelizer_default_content_page',
+          'weight' => -2,
+        ) + $subtabs_base;
+
+        $items[$root . '/panelizer/' . $view_mode . '/%/access'] = array(
+          'title' => 'Access',
+          'page callback' => 'panelizer_default_access_page',
+          'weight' => -2,
+        ) + $subtabs_base;
+
+        // Also make clones of all the export UI menu items. Again there is some
+        // duplicated code here because of subtle differences.
+        // Load the $plugin information
+        $plugin = ctools_get_export_ui('panelizer_defaults');
+
+        $ui_items = $plugin['menu']['items'];
+
+        // Change the item to a tab.
+        $ui_items['list']['type'] = MENU_LOCAL_TASK;
+        $ui_items['list']['weight'] = -6;
+        $ui_items['list']['title'] = 'List';
+
+        // menu local actions are weird.
+        $ui_items['add']['path'] = 'list/add';
+        $ui_items['import']['path'] = 'list/import';
+
+        // Edit is being handled elsewhere:
+        unset($ui_items['edit']);
+        unset($ui_items['edit callback']);
+        unset($ui_items['list callback']);
+        unset($ui_items['context']);
+        unset($ui_items['content']);
+        unset($ui_items['layout']);
+        unset($ui_items['access']);
+
+        // Change the callbacks for everything:
+        foreach ($ui_items as $key => $item) {
+          // originally admin/config/content/panelizer/%panelizer_handler
+          $ui_items[$key]['access callback'] = 'panelizer_has_choice_callback';
+          $ui_items[$key]['access arguments'] = array($this->entity_type, $bundle, '');
+          $ui_items[$key]['page callback'] = 'panelizer_export_ui_switcher_page';
+          array_unshift($ui_items[$key]['page arguments'], $bundle);
+          array_unshift($ui_items[$key]['page arguments'], $this->entity_type);
+          $ui_items[$key]['path'] = str_replace('list/', '', $ui_items[$key]['path']);
+        }
+
+        foreach ($ui_items as $item) {
+          // Add menu item defaults.
+          $item += array(
+            'file' => 'export-ui.inc',
+            'file path' => drupal_get_path('module', 'ctools') . '/includes',
+          );
+
+          $path = !empty($item['path']) ? $root . '/panelizer/' . $view_mode . '/' . $item['path'] : $root . '/panelizer/' . $view_mode;
+          unset($item['path']);
+          $items[$path] = $item;
+        }
       }
     }
   }
