diff --git a/core/modules/node/node.test b/core/modules/node/node.test
index 655bc0b..f2ccf5b 100644
--- a/core/modules/node/node.test
+++ b/core/modules/node/node.test
@@ -2579,3 +2579,52 @@ class NodeAccessFieldTestCase extends NodeWebTestCase {
     $this->assertRaw($default, 'The updated default value is displayed when creating a new node.');
   }
 }
+/**
+ * Tests Node EFQ has prefixes
+ */
+class NodeAccessEFQTablePrefixTestCase extends NodeWebTestCase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Node EFQ Table Prefixes',
+      'description' => 'Tests that a node EntityFieldQuery uses proper table prefixing',
+      'group' => 'Node',
+    );
+  }
+
+  public function setUp() {
+    parent::setUp('node_efq_table_prefix_test');
+
+    // Create an article.
+    $this->node = $this->drupalCreateNode(array('type' => 'article'));
+  }
+
+  /**
+   * Tests EFQ prefix by a simple EFQ that node_efq_table_prefix_test
+   * will use hook_query_alter to join back to node.  Any non-prefixed
+   * node columns in the EFQ will cause an exception.
+   */
+  function testNodeAccessEFQTablePrefixes() {
+    // Run an EFQ with multiple EntityConditions.
+    // @todo This does not trigger the bug.
+    $query = new EntityFieldQuery();
+    $query
+      ->entityCondition('entity_type', 'node')
+      ->entityCondition('bundle', 'article')
+      ->entityCondition('entity_id', $this->node->nid, '=')
+      ->addTag('node_efq_table_prefix_test');
+
+    // Print out the EFQ object.
+    // @todo This is debug code.
+    $this->verbose('<pre>' . print_r($query, TRUE) . '</pre>');
+
+    $pass = TRUE;
+    try {
+      $query->execute();
+    }
+    catch (Exception $exception) {
+      $pass = FALSE;
+    }
+    $this->assertTrue($pass, t("Node EFQ has proper table prefixes"));
+  }
+}
diff --git a/core/modules/node/tests/modules/node_efq_table_prefix_test/node_efq_table_prefix_test.info b/core/modules/node/tests/modules/node_efq_table_prefix_test/node_efq_table_prefix_test.info
new file mode 100644
index 0000000..f68a937
--- /dev/null
+++ b/core/modules/node/tests/modules/node_efq_table_prefix_test/node_efq_table_prefix_test.info
@@ -0,0 +1,6 @@
+name = "Node EntityFieldQuery prefix test"
+description = "Test module for testing EntityFieldQuery prefixes"
+package = Testing
+version = VERSION
+core = 8.x
+hidden = TRUE
diff --git a/core/modules/node/tests/modules/node_efq_table_prefix_test/node_efq_table_prefix_test.module b/core/modules/node/tests/modules/node_efq_table_prefix_test/node_efq_table_prefix_test.module
new file mode 100644
index 0000000..477b285
--- /dev/null
+++ b/core/modules/node/tests/modules/node_efq_table_prefix_test/node_efq_table_prefix_test.module
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * @file
+ * Alters node queries with hook_query_alter to add a join to node_access.
+ * This allows testing that node columns are properly prefixed with a base table.
+ */
+
+/**
+ * Implements hook_query_alter().
+ */
+function node_efq_table_prefix_test_query_alter($query) {
+
+  if ($query->hasTag('node_efq_table_prefix_test')) {
+    $query->join('node','n2','%alias.nid = node.nid');
+  }
+}
