diff --git a/modules/node/node.module b/modules/node/node.module
index 19c636fa7a6f8e4eca0196eff0536cd84d9e41c4..5d8f3b5a756bca1270fe8aa4dfa3fef042dbaf64 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1649,6 +1649,12 @@ function _node_add_access() {
       return TRUE;
     }
   }
+  if (user_access('administer content types')) {
+    // There are no content types defined that the user has permission to create,
+    // but the user does have the permission to administer the content types, so
+    // grant them access to the page anyway.
+    return TRUE;
+  }
   return FALSE;
 }
 
diff --git a/modules/node/node.pages.inc b/modules/node/node.pages.inc
index 42fd59b8ed094682752ce282a9a27ee409879a79..56b210df71de146da54954a8e1fff3175442ce0c 100644
--- a/modules/node/node.pages.inc
+++ b/modules/node/node.pages.inc
@@ -43,6 +43,9 @@ function theme_node_add_list($content) {
     }
     $output .= '</dl>';
   }
+  else {
+    $output = '<p>' . t('You have not created any content types yet. Please go to the <a href="@create-content">content type creation page</a> to add a new content type.', array('@create-content' => url('admin/structure/types/add'))) . '</p>';
+  }
   return $output;
 }