diff --git a/bean.module b/bean.module
index a7080dc..f1ba1b9 100644
--- a/bean.module
+++ b/bean.module
@@ -808,7 +808,7 @@ function bean_theme() {
  */
 function bean_menu_local_tasks_alter(&$data, $router_item, $root_path) {
   // Add action link to 'block/add' on 'admin/content/blocks' page.
-  if ($root_path == 'admin/content/blocks') {
+  if ($root_path == 'admin/content/blocks' && bean_get_types()) {
     $item = menu_get_item('block/add');
     if ($item['access']) {
       $data['actions']['output'][] = array(
diff --git a/includes/bean.pages.inc b/includes/bean.pages.inc
index 53c7ac2..bf52dac 100644
--- a/includes/bean.pages.inc
+++ b/includes/bean.pages.inc
@@ -26,7 +26,6 @@ function bean_add($type) {
  */
 function bean_add_page() {
   $bean_types = bean_get_types();
-
   // Bypass the block/add listing if only one block type is available.
   if (count($bean_types) == 1) {
     $bean_type = array_shift($bean_types);
@@ -37,8 +36,12 @@ function bean_add_page() {
 }
 
 function bean_list() {
-  $rows = array();
+  $bean_types = bean_get_types();
+  if (empty($bean_types)) {
+    return '<p>' . t('You have not created any block types yet.') . '</p>';
+  }
 
+  $rows = array();
   // Build the sortable table header.
   $header = array(
     'title' => array(
