Index: modules/comment/comment.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.install,v
retrieving revision 1.63
diff -u -p -r1.63 comment.install
--- modules/comment/comment.install	27 Mar 2010 05:52:49 -0000	1.63
+++ modules/comment/comment.install	27 Mar 2010 20:15:44 -0000
@@ -69,7 +69,7 @@ function comment_enable() {
   //   and a comment_field_attach_create_bundle() function should be added to
   //   handle the creation of the comment body field instance.
   foreach (node_type_get_types() as $type => $info) {
-    if (!field_info_instance('comment', 'comment_body', 'comment_node_' . $info->type)) {
+    if (!($info->is_new) && !($info->disabled) && !field_info_instance('comment', 'comment_body', 'comment_node_' . $info->type)) {
       _comment_body_field_instance_create($info);
     }
   }
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1250
diff -u -p -r1.1250 node.module
--- modules/node/node.module	27 Mar 2010 05:52:50 -0000	1.1250
+++ modules/node/node.module	27 Mar 2010 20:15:46 -0000
@@ -381,6 +381,7 @@ function _node_extract_type($node) {
  *   An array of node types, keyed by the type.
  *
  * @see node_type_get_type()
+ * @see _node_types_build()
  */
 function node_type_get_types() {
   return _node_types_build()->types;
@@ -400,6 +401,7 @@ function node_type_get_types() {
  *   node_type_set_defaults().
  *
  * @see hook_node_info()
+ * @see _node_types_build()
  */
 function node_type_get_type($node) {
   $type = _node_extract_type($node);
@@ -414,6 +416,7 @@ function node_type_get_type($node) {
  * execute node type specific hooks.
  *
  * @see node_invoke()
+ * @see _node_types_build()
  *
  * @param $node
  *   A node object or string that indicates the node type to return.
@@ -431,6 +434,8 @@ function node_type_get_base($node) {
  *
  * @return
  *   An array of node type names, keyed by the type.
+ *
+ * @see _node_types_build()
  */
 function node_type_get_names() {
   return _node_types_build()->names;
@@ -443,7 +448,9 @@ function node_type_get_names() {
  *   A node object or string that indicates the node type to return.
  *
  * @return
- *   The node type name or FALSE if the node type is not found.
+ *   The node type name or FALSE if the node type is not found
+ *
+ * @see _node_types_build()
  */
 function node_type_get_name($node) {
   $type = _node_extract_type($node);
@@ -663,6 +670,8 @@ function node_type_update_nodes($old_typ
  *
  * The list of types is built by querying hook_node_info() in all modules, and
  * by comparing this information with the node types in the {node_type} table.
+ * This will include types that are not in-use or haven't been fully created
+ * yet, which are accessible by the disabled and is_new fields respectively.
  *
  */
 function _node_types_build() {
