diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index 84822c7..7471c3c 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -1915,6 +1915,19 @@ function system_update_8010() {
 }
 
 /**
+ * Update the module and base fields for the blog node type.
+ */
+function system_update_8011() {
+  db_update('node_type')
+    ->fields(array(
+      'module' => 'node',
+      'base' => 'node_content',
+    ))
+    ->condition('module', 'blog')
+    ->execute();
+}
+
+/**
  * @} End of "defgroup updates-7.x-to-8.x".
  * The next series of updates should start at 9000.
  */
diff --git a/core/modules/system/tests/upgrade/upgrade.test b/core/modules/system/tests/upgrade/upgrade.test
index 429bddb..f3b044b 100644
--- a/core/modules/system/tests/upgrade/upgrade.test
+++ b/core/modules/system/tests/upgrade/upgrade.test
@@ -519,6 +519,11 @@ class BareStandardUpgradePath extends UpgradePathTestCase {
     // Confirm that no {menu_links} entry exists for user/autocomplete.
     $result = db_query('SELECT COUNT(*) FROM {menu_links} WHERE link_path = :user_autocomplete', array(':user_autocomplete' => 'user/autocomplete'))->fetchField();
     $this->assertFalse($result, t('No {menu_links} entry exists for user/autocomplete'));
+
+    // Verify that the blog node type has been assigned to node module.
+    $blog_type = node_type_load('blog');
+    $this->assertEqual($blog_type->module, 'node', "Content type 'blog' has been reassigned from the blog module to the node module.");
+    $this->assertEqual($blog_type->base, 'node_content', "The base string used to construct callbacks corresponding to content type 'Blog' has been reassigned to 'node_content'.");
   }
 }
 
@@ -599,5 +604,10 @@ class FilledStandardUpgradePath extends UpgradePathTestCase {
     // Confirm that no {menu_links} entry exists for user/autocomplete.
     $result = db_query('SELECT COUNT(*) FROM {menu_links} WHERE link_path = :user_autocomplete', array(':user_autocomplete' => 'user/autocomplete'))->fetchField();
     $this->assertFalse($result, t('No {menu_links} entry exists for user/autocomplete'));
+
+    // Verify that the blog node type has been assigned to node module.
+    $blog_type = node_type_load('blog');
+    $this->assertEqual($blog_type->module, 'node', "Content type 'blog' has been reassigned from the blog module to the node module.");
+    $this->assertEqual($blog_type->base, 'node_content', "The base string used to construct callbacks corresponding to content type 'Blog' has been reassigned to 'node_content'.");
   }
 }
diff --git a/core/scripts/generate-d7-content.sh b/core/scripts/generate-d7-content.sh
index ccb0b46..7f03846 100644
--- a/core/scripts/generate-d7-content.sh
+++ b/core/scripts/generate-d7-content.sh
@@ -160,12 +160,21 @@ for ($i = 0; $i < 24; $i++) {
 $node_id = 0;
 $revision_id = 0;
 module_load_include('inc', 'node', 'node.pages');
-for ($i = 0; $i < 24; $i++) {
+for ($i = 0; $i < 36; $i++) {
   $uid = intval($i / 8) + 3;
   $user = user_load($uid);
   $node = new stdClass();
   $node->uid = $uid;
-  $node->type = $i < 12 ? 'page' : 'story';
+  $node->type = 'page';
+  if ($i < 12) {
+    $node->type = 'page';
+  }
+  else if ($i < 24) {
+    $node->type = 'story';
+  }
+  else if (module_exists('blog')) {
+    $node->type = 'blog';
+  }
   $node->sticky = 0;
   ++$node_id;
   ++$revision_id;
