diff --git a/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php b/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php
index acba472..5852ab4 100644
--- a/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php
+++ b/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php
@@ -370,7 +370,10 @@ public static function process($element, FormStateInterface $form_state, $form)
     $item = $element['#value'];
     $item['fids'] = $element['fids']['#value'];
 
-    $element['#theme'] = 'file_widget';
+    // Prevent the file widget from overriding the image widget.
+    if (!isset($element['#theme'])) {
+      $element['#theme'] = 'file_widget';
+    }
 
     // Add the display field if enabled.
     if ($element['#display_field']) {
diff --git a/core/modules/image/src/Tests/ImageFieldWidgetTest.php b/core/modules/image/src/Tests/ImageFieldWidgetTest.php
new file mode 100644
index 0000000..8bc70bc
--- /dev/null
+++ b/core/modules/image/src/Tests/ImageFieldWidgetTest.php
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\image\Tests\ImageFieldWidgetTest.
+ */
+
+namespace Drupal\image\Tests;
+
+/**
+ * Tests the image field widget.
+ *
+ * @group image
+ */
+class ImageFieldWidgetTest extends ImageFieldTestBase {
+
+  /**
+   * Tests file widget element.
+   */
+  public function testWidgetElement() {
+     // Check for image widget in add/node/article page
+    $field_name = strtolower($this->randomMachineName());
+    $min_resolution = 50;
+    $max_resolution = 100;
+    $field_settings = array(
+      'max_resolution' => $max_resolution . 'x' . $max_resolution,
+      'min_resolution' => $min_resolution . 'x' . $min_resolution,
+      'alt_field' => 0,
+    );
+    $this->createImageField($field_name, 'article', array(), $field_settings);
+    $this->drupalGet('node/add/article');
+    $this->assertNotEqual(0, count($this->xpath('//div[contains(@class, "field--widget-image-image")]')), 'Image field widget found on add/node page', 'Browser');
+  }
+
+}
+
