 core/lib/Drupal/Component/DependencyInjection/Container.php   |  2 +-
 .../Tests/Component/DependencyInjection/ContainerTest.php     | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/core/lib/Drupal/Component/DependencyInjection/Container.php b/core/lib/Drupal/Component/DependencyInjection/Container.php
index df25ae8..fee67bd 100644
--- a/core/lib/Drupal/Component/DependencyInjection/Container.php
+++ b/core/lib/Drupal/Component/DependencyInjection/Container.php
@@ -366,7 +366,7 @@ public function set($id, $service, $scope = ContainerInterface::SCOPE_CONTAINER)
    * {@inheritdoc}
    */
   public function has($id) {
-    return isset($this->services[$id]) || isset($this->serviceDefinitions[$id]);
+    return isset($this->aliases[$id]) || isset($this->services[$id]) || isset($this->serviceDefinitions[$id]);
   }
 
   /**
diff --git a/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php b/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php
index 5721c64..5dec667 100644
--- a/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php
+++ b/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php
@@ -224,6 +224,17 @@ public function testHas() {
   }
 
   /**
+   * Tests that Container::has() for aliased services works properly.
+   *
+   * @covers ::has
+   */
+  public function testHasForAliasedService() {
+    $service = $this->container->has('service.provider');
+    $aliased_service = $this->container->has('service.provider_alias');
+    $this->assertSame($service, $aliased_service);
+  }
+
+  /**
    * Tests that Container::get() for circular dependencies works properly.
    * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
    * @covers ::get
