diff --git a/core/lib/Drupal/Core/Image/Image.php b/core/lib/Drupal/Core/Image/Image.php
index f7a5cd771584b78f705301ec65746e8e0fa7f1cc..ba1c03adcb605661022fc6fc22f18506bd40adaa 100644
--- a/core/lib/Drupal/Core/Image/Image.php
+++ b/core/lib/Drupal/Core/Image/Image.php
@@ -47,13 +47,6 @@ class Image implements ImageInterface {
    */
   protected $width = 0;
 
-  /**
-   * Commonly used file extension for the image.
-   *
-   * @var string
-   */
-  protected $extension = '';
-
   /**
    * Image type represented by a PHP IMAGETYPE_* constant (e.g. IMAGETYPE_JPEG).
    *
@@ -61,13 +54,6 @@ class Image implements ImageInterface {
    */
   protected $type;
 
-  /**
-   * MIME type (e.g. 'image/jpeg', 'image/gif', 'image/png').
-   *
-   * @var string
-   */
-  protected $mimeType = '';
-
   /**
    * File size in bytes.
    *
@@ -110,14 +96,6 @@ public function isExisting() {
     return $this->processed;
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public function getExtension() {
-    $this->processInfo();
-    return $this->extension;
-  }
-
   /**
    * {@inheritdoc}
    */
@@ -171,7 +149,7 @@ public function getType() {
    */
   public function getMimeType() {
     $this->processInfo();
-    return $this->mimeType;
+    return $this->type ? image_type_to_mime_type($this->type) : '';
   }
 
   /**
@@ -250,15 +228,7 @@ protected function processInfo() {
       $this->height = $details['height'];
       $this->width = $details['width'];
       $this->type = $details['type'];
-      $this->mimeType = $details['mime_type'];
       $this->fileSize = filesize($destination);
-      $this->extension = pathinfo($destination, PATHINFO_EXTENSION);
-
-      // It may be a temporary file, without extension, or an image created from
-      // an image resource. Fallback to default extension for this image type.
-      if (empty($this->extension)) {
-        $this->extension = image_type_to_extension($this->type, FALSE);
-      }
 
       $this->processed = TRUE;
     }
diff --git a/core/lib/Drupal/Core/Image/ImageInterface.php b/core/lib/Drupal/Core/Image/ImageInterface.php
index b6edda04b97fbb707be90653100f4d55b40ea6c0..5bbe8cf504e58968b6cbb816584f8eac4b5e6b33 100644
--- a/core/lib/Drupal/Core/Image/ImageInterface.php
+++ b/core/lib/Drupal/Core/Image/ImageInterface.php
@@ -28,14 +28,6 @@ public function isSupported();
    */
   public function isExisting();
 
-  /**
-   * Returns the extension of the image file.
-   *
-   * @return string
-   *   The extension of the file, or an empty string if the file is invalid.
-   */
-  public function getExtension();
-
   /**
    * Returns the height of the image file.
    *
@@ -93,7 +85,8 @@ public function getType();
    * Returns the MIME type of the image file.
    *
    * @return string
-   *   The MIME type of the file, or an empty string if the file is invalid.
+   *   The MIME type of the image file, or an empty string if the image is
+   *   invalid.
    */
   public function getMimeType();
 
diff --git a/core/lib/Drupal/Core/ImageToolkit/ImageToolkitInterface.php b/core/lib/Drupal/Core/ImageToolkit/ImageToolkitInterface.php
index 61c6ece379af4ef0f8627808f1f32102c8610af1..dfa8b90daf42fa02c9a315a48cd2f8ae4336e935 100644
--- a/core/lib/Drupal/Core/ImageToolkit/ImageToolkitInterface.php
+++ b/core/lib/Drupal/Core/ImageToolkit/ImageToolkitInterface.php
@@ -199,7 +199,6 @@ public function scaleAndCrop(ImageInterface $image, $width, $height);
    *   - "width": Width, in pixels.
    *   - "height": Height, in pixels.
    *   - "type": Image type represented as an IMAGETYPE_* constant.
-   *   - "mime_type": MIME type (e.g. 'image/jpeg', 'image/gif', 'image/png').
    *
    * @see \Drupal\Core\Image\ImageInterface::processInfo()
    */
diff --git a/core/modules/image/lib/Drupal/image/Plugin/Field/FieldWidget/ImageWidget.php b/core/modules/image/lib/Drupal/image/Plugin/Field/FieldWidget/ImageWidget.php
index 811ed0f4288348b974dbc63669361b48273cba84..26d4deaf30554e790d2b415b55dfc540530eaf62 100644
--- a/core/modules/image/lib/Drupal/image/Plugin/Field/FieldWidget/ImageWidget.php
+++ b/core/modules/image/lib/Drupal/image/Plugin/Field/FieldWidget/ImageWidget.php
@@ -166,7 +166,7 @@ public static function process($element, &$form_state, $form) {
       }
       else {
         $image = \Drupal::service('image.factory')->get($file->getFileUri());
-        if ($image->getExtension()) {
+        if ($image->isExisting()) {
           $variables['width'] = $image->getWidth();
           $variables['height'] = $image->getHeight();
         }
diff --git a/core/modules/system/lib/Drupal/system/Plugin/ImageToolkit/GDToolkit.php b/core/modules/system/lib/Drupal/system/Plugin/ImageToolkit/GDToolkit.php
index 1bd1d36575f0c12f3e5b50fd6957067ad063a57b..98e557270c409119f9e190f5b4f3b9630429cc6d 100644
--- a/core/modules/system/lib/Drupal/system/Plugin/ImageToolkit/GDToolkit.php
+++ b/core/modules/system/lib/Drupal/system/Plugin/ImageToolkit/GDToolkit.php
@@ -309,7 +309,6 @@ public function getInfo(ImageInterface $image) {
         'width'     => $data[0],
         'height'    => $data[1],
         'type'      => $data[2],
-        'mime_type' => $data['mime'],
       );
     }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/Image/ToolkitGdTest.php b/core/modules/system/lib/Drupal/system/Tests/Image/ToolkitGdTest.php
index d683b70d7a3c38bcac91d48555bf76dd4f7b775f..d2be8cd4a505c138a5f2706215d71e47c2ad9ce1 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Image/ToolkitGdTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Image/ToolkitGdTest.php
@@ -253,7 +253,7 @@ function testManipulations() {
 
         $directory = $this->public_files_directory .'/imagetest';
         file_prepare_directory($directory, FILE_CREATE_DIRECTORY);
-        $image->save($directory . '/' . $op . '.' . $image->getExtension());
+        $image->save($directory . '/' . $op . image_type_to_extension($image->getType()));
 
         $this->assertTrue($correct_dimensions_real, String::format('Image %file after %action action has proper dimensions.', array('%file' => $file, '%action' => $op)));
         $this->assertTrue($correct_dimensions_object, String::format('Image %file object after %action action is reporting the proper height and width values.', array('%file' => $file, '%action' => $op)));
diff --git a/core/modules/system/tests/modules/image_test/lib/Drupal/image_test/Plugin/ImageToolkit/TestToolkit.php b/core/modules/system/tests/modules/image_test/lib/Drupal/image_test/Plugin/ImageToolkit/TestToolkit.php
index d85d813e57d0bd53b1892129aa461f01910a947e..862129d493528e3059f13cb5867cab73064608b6 100644
--- a/core/modules/system/tests/modules/image_test/lib/Drupal/image_test/Plugin/ImageToolkit/TestToolkit.php
+++ b/core/modules/system/tests/modules/image_test/lib/Drupal/image_test/Plugin/ImageToolkit/TestToolkit.php
@@ -59,7 +59,6 @@ public function getInfo(ImageInterface $image) {
         'width'     => $data[0],
         'height'    => $data[1],
         'type'      => $data[2],
-        'mime_type' => $data['mime'],
       );
     }
 
diff --git a/core/tests/Drupal/Tests/Core/Image/ImageTest.php b/core/tests/Drupal/Tests/Core/Image/ImageTest.php
index d2c5fd7f6bcadece45325f98a5f781b7d32caf9f..6ddc2770f70e1d4a4e0472221b5f7df57f62f2f3 100644
--- a/core/tests/Drupal/Tests/Core/Image/ImageTest.php
+++ b/core/tests/Drupal/Tests/Core/Image/ImageTest.php
@@ -77,13 +77,6 @@ protected function getToolkitMock(array $stubs = array()) {
       ->getMock();
   }
 
-  /**
-   * Tests \Drupal\Core\Image\Image::getExtension().
-   */
-  public function testGetExtension() {
-    $this->assertEquals($this->image->getExtension(), 'png');
-  }
-
   /**
    * Tests \Drupal\Core\Image\Image::getHeight().
    */