diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityCrudHookTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityCrudHookTest.php
index 5f7f577..054292b 100644
--- a/core/modules/entity/lib/Drupal/entity/Tests/EntityCrudHookTest.php
+++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityCrudHookTest.php
@@ -69,6 +69,12 @@ class EntityCrudHookTest extends WebTestBase {
    * Tests hook invocations for CRUD operations on comments.
    */
   public function testCommentHooks() {
+    // Create and save node type.
+    $node_type = array(
+      'type' => 'article',
+    );
+    node_type_save(node_type_set_defaults($node_type));
+
     $node = entity_create('node', array(
       'uid' => 1,
       'type' => 'article',
@@ -196,6 +202,12 @@ class EntityCrudHookTest extends WebTestBase {
    * Tests hook invocations for CRUD operations on nodes.
    */
   public function testNodeHooks() {
+    // Create and save node type.
+    $node_type = array(
+      'type' => 'article',
+    );
+    node_type_save(node_type_set_defaults($node_type));
+
     $node = entity_create('node', array(
       'uid' => 1,
       'type' => 'article',
diff --git a/core/modules/node/lib/Drupal/node/NodeStorageController.php b/core/modules/node/lib/Drupal/node/NodeStorageController.php
index ee47546..8b1f318 100644
--- a/core/modules/node/lib/Drupal/node/NodeStorageController.php
+++ b/core/modules/node/lib/Drupal/node/NodeStorageController.php
@@ -11,6 +11,7 @@ use Drupal\entity\DatabaseStorageController;
 use Drupal\entity\StorableInterface;
 use Drupal\entity\EntityStorageException;
 use Exception;
+use Drupal\entity\EntityMalformedException;
 
 /**
  * Controller class for nodes.
@@ -257,6 +258,12 @@ class NodeStorageController extends DatabaseStorageController {
         $node->revision_uid = $GLOBALS['user']->uid;
       }
     }
+
+    // Checks if node type (budle) exists.
+    $entity_info = entity_get_info('node');
+    if (!isset($entity_info['bundles'][$node->type])) {
+      throw new EntityMalformedException('The node type doesn\'t exists.');
+    }
   }
 
   /**
diff --git a/core/modules/path/lib/Drupal/path/Tests/PathLanguageTest.php b/core/modules/path/lib/Drupal/path/Tests/PathLanguageTest.php
index 09518ab..5c11a69 100644
--- a/core/modules/path/lib/Drupal/path/Tests/PathLanguageTest.php
+++ b/core/modules/path/lib/Drupal/path/Tests/PathLanguageTest.php
@@ -86,6 +86,7 @@ class PathLanguageTest extends PathTestBase {
 
     // Confirm that the alias works.
     $this->drupalGet('fr/' . $edit['path[alias]']);
+    $this->assertTrue(is_object($french_node), 'Alias for French translation works.');
     $this->assertText($french_node->label(), 'Alias for French translation works.');
 
     // Confirm that the alias is returned by url(). Languages are cached on
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/WebTestBase.php b/core/modules/simpletest/lib/Drupal/simpletest/WebTestBase.php
index 25139e6..241ad71 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/WebTestBase.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/WebTestBase.php
@@ -205,6 +205,9 @@ abstract class WebTestBase extends TestBase {
       'langcode'  => LANGUAGE_NOT_SPECIFIED,
     );
 
+    // Create and save node type.
+    node_type_save(node_type_set_defaults($settings));
+
     // Use the original node's created time for existing nodes.
     if (isset($settings['created']) && !isset($settings['date'])) {
       $settings['date'] = format_date($settings['created'], 'custom', 'Y-m-d H:i:s O');
