diff --git a/src/NHibernate.Test/Async/NHSpecificTest/GH2463/Fixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/GH2463/Fixture.cs
new file mode 100644
index 00000000000..be3772785b3
--- /dev/null
+++ b/src/NHibernate.Test/Async/NHSpecificTest/GH2463/Fixture.cs
@@ -0,0 +1,41 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by AsyncGenerator.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+
+using System.Linq;
+using NHibernate.DomainModel;
+using NUnit.Framework;
+using NHibernate.Linq;
+
+namespace NHibernate.Test.NHSpecificTest.GH2463
+{
+ using System.Threading.Tasks;
+ [TestFixture]
+ public class FixtureAsync : TestCase
+ {
+ protected override string[] Mappings
+ {
+ get { return new[] {"ABC.hbm.xml"}; }
+ }
+
+ [Test]
+ public async Task CanJoinOnEntityWithDiscriminatorAsync()
+ {
+ using (var s = OpenSession())
+ {
+ await (s.Query().Join(
+ s.Query(),
+ a => a.Id,
+ b => b.Id,
+ (a, b) =>
+ new {a, b}).ToListAsync());
+ }
+ }
+ }
+}
diff --git a/src/NHibernate.Test/NHSpecificTest/GH2463/Fixture.cs b/src/NHibernate.Test/NHSpecificTest/GH2463/Fixture.cs
new file mode 100644
index 00000000000..3c18a008262
--- /dev/null
+++ b/src/NHibernate.Test/NHSpecificTest/GH2463/Fixture.cs
@@ -0,0 +1,29 @@
+using System.Linq;
+using NHibernate.DomainModel;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.GH2463
+{
+ [TestFixture]
+ public class Fixture : TestCase
+ {
+ protected override string[] Mappings
+ {
+ get { return new[] {"ABC.hbm.xml"}; }
+ }
+
+ [Test]
+ public void CanJoinOnEntityWithDiscriminator()
+ {
+ using (var s = OpenSession())
+ {
+ s.Query().Join(
+ s.Query(),
+ a => a.Id,
+ b => b.Id,
+ (a, b) =>
+ new {a, b}).ToList();
+ }
+ }
+ }
+}
diff --git a/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs b/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs
index d6f3a7f0861..32c7f88d15a 100644
--- a/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs
+++ b/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs
@@ -794,8 +794,7 @@ private IQueryable ResolveEntityJoinReferencedPersister(IASTNode path)
if (path.Type == IDENT)
{
var pathIdentNode = (IdentNode) path;
- string name = path.Text ?? pathIdentNode.OriginalText;
- return SessionFactoryHelper.FindQueryableUsingImports(name);
+ return SessionFactoryHelper.FindQueryableUsingImports(pathIdentNode.Path);
}
else if (path.Type == DOT)
{