diff --git a/core/lib/Drupal/Core/Field/BaseFieldDefinition.php b/core/lib/Drupal/Core/Field/BaseFieldDefinition.php
index 7df3ec1..bcc7804 100644
--- a/core/lib/Drupal/Core/Field/BaseFieldDefinition.php
+++ b/core/lib/Drupal/Core/Field/BaseFieldDefinition.php
@@ -728,4 +728,11 @@ public function getConfig($bundle) {
     return BaseFieldOverride::createFromBaseFieldDefinition($this, $bundle);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getLabel() {
+    return isset($this->definition['label']) ? (string) $this->definition['label'] : NULL;
+  }
+
 }
diff --git a/core/tests/Drupal/Tests/Core/Entity/BaseFieldDefinitionTest.php b/core/tests/Drupal/Tests/Core/Entity/BaseFieldDefinitionTest.php
index 9689552..8938694 100644
--- a/core/tests/Drupal/Tests/Core/Entity/BaseFieldDefinitionTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/BaseFieldDefinitionTest.php
@@ -94,8 +94,14 @@ public function testFieldName() {
   public function testFieldLabel() {
     $definition = BaseFieldDefinition::create($this->fieldType);
     $label = $this->randomMachineName();
-    $definition->setLabel($label);
-    $this->assertEquals($label, $definition->getLabel());
+    $translatable_label = $this->getMockBuilder('Drupal\Core\StringTranslation\TranslatableMarkup')
+      ->disableOriginalConstructor()
+      ->getMock();
+    $translatable_label->expects($this->any())
+      ->method('__toString')
+      ->willReturn($label);
+    $definition->setLabel($translatable_label);
+    $this->assertSame($label, $definition->getLabel());
   }
 
   /**
