diff --git a/modules/node/node.module b/modules/node/node.module
index 9ad7a6acd35535bb80659894b3682fc5cc1a5a54..c547c8ad8194059ad48b3e7056d954aa92306d57 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1737,7 +1737,7 @@ function node_add($type) {
   else {
     // If no (valid) node type has been provided, display a node type overview.
     foreach (node_get_types() as $type => $name) {
-      if (module_invoke(node_get_base($type), 'access', 'create', $type)) {
+      if (node_access('create', $type)) {
         $out = '<dt>'. l($name, "node/add/$type", array('title' => t('Add a new %s.', array('%s' => $name)))) .'</dt>';
         $out .= '<dd>'. implode("\n", module_invoke_all('help', 'node/add#'. $type)) .'</dd>';
         $item[$name] = $out;